Trích xuất chuỗi giữa hai dấu phân cách trong python

Bài viết này mô tả cách tách chuỗi bằng dấu phân cách, ngắt dòng, biểu thức chính quy và số lượng ký tự trong Python

  • Chia theo dấu phân cách.
    print[s_comma.split[',', 2]]
    # ['one', 'two', 'three,four,five']
    
    2
    • Chỉ định dấu phân cách.
      print[s_comma.split[',', 2]]
      # ['one', 'two', 'three,four,five']
      
      3
    • Chỉ định số lần chia tối đa.
      print[s_comma.split[',', 2]]
      # ['one', 'two', 'three,four,five']
      
      4
  • Tách từ bên phải bởi dấu phân cách.
    print[s_comma.split[',', 2]]
    # ['one', 'two', 'three,four,five']
    
    5
  • Chia theo ngắt dòng.
    print[s_comma.split[',', 2]]
    # ['one', 'two', 'three,four,five']
    
    6
  • Chia theo regex.
    print[s_comma.split[',', 2]]
    # ['one', 'two', 'three,four,five']
    
    7
    • Chia theo nhiều dấu phân cách khác nhau
  • Nối một danh sách các chuỗi
  • Tách dựa trên số lượng ký tự. lát cắt

Xem bài viết sau để biết thêm thông tin về cách nối và trích xuất chuỗi

  • Nối các chuỗi trong Python [toán tử +, nối, v.v. ]
  • Trích xuất một chuỗi con từ một chuỗi trong Python [vị trí, biểu thức chính quy]

Liên kết được tài trợ

Chia theo dấu phân cách.
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2

Sử dụng phương pháp

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 để phân tách bằng dấu phân cách

  • str. split [] — Python 3. 7. 3 tài liệu

Nếu đối số bị bỏ qua, nó sẽ bị phân chia bởi khoảng trắng, chẳng hạn như dấu cách, dòng mới

s_lines = 'one\ntwo\nthree\nfour'
print[s_lines]
# one
# two
# three
# four

print[s_lines.split['\n', 1]]
# ['one', 'two\nthree\nfour']

print[s_lines.split['\n', 1][0]]
# one

print[s_lines.split['\n', 1][1]]
# two
# three
# four

print[s_lines.split['\n', 1][-1]]
# two
# three
# four
0 và tab
s_lines = 'one\ntwo\nthree\nfour'
print[s_lines]
# one
# two
# three
# four

print[s_lines.split['\n', 1]]
# ['one', 'two\nthree\nfour']

print[s_lines.split['\n', 1][0]]
# one

print[s_lines.split['\n', 1][1]]
# two
# three
# four

print[s_lines.split['\n', 1][-1]]
# two
# three
# four
1. Khoảng trắng liên tiếp được xử lý cùng nhau

Một danh sách các từ được trả về

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
0

nguồn. str_split_rsplit. py

Sử dụng

s_lines = 'one\ntwo\nthree\nfour'
print[s_lines]
# one
# two
# three
# four

print[s_lines.split['\n', 1]]
# ['one', 'two\nthree\nfour']

print[s_lines.split['\n', 1][0]]
# one

print[s_lines.split['\n', 1][1]]
# two
# three
# four

print[s_lines.split['\n', 1][-1]]
# two
# three
# four
2, được mô tả bên dưới, để nối một danh sách thành một chuỗi

Chỉ định dấu phân cách.
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3

Chỉ định dấu phân cách cho tham số đầu tiên

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4

nguồn. str_split_rsplit. py

Nếu bạn muốn chỉ định nhiều dấu phân cách, hãy sử dụng biểu thức chính quy như được mô tả sau

Chỉ định số lần chia tối đa.
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4

Chỉ định số lần phân tách tối đa cho tham số thứ hai

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4

Nếu cho trước

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4, nhiều nhất, việc tách
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4 được thực hiện

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']

nguồn. str_split_rsplit. py

Ví dụ: rất hữu ích khi xóa dòng đầu tiên khỏi chuỗi

Nếu

s_lines = 'one\ntwo\nthree\nfour'
print[s_lines]
# one
# two
# three
# four

print[s_lines.split['\n', 1]]
# ['one', 'two\nthree\nfour']

print[s_lines.split['\n', 1][0]]
# one

print[s_lines.split['\n', 1][1]]
# two
# three
# four

print[s_lines.split['\n', 1][-1]]
# two
# three
# four
9,
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
10, bạn có thể nhận danh sách các chuỗi được phân chia theo ký tự xuống dòng đầu tiên
s_lines = 'one\ntwo\nthree\nfour'
print[s_lines]
# one
# two
# three
# four

print[s_lines.split['\n', 1]]
# ['one', 'two\nthree\nfour']

print[s_lines.split['\n', 1][0]]
# one

print[s_lines.split['\n', 1][1]]
# two
# three
# four

print[s_lines.split['\n', 1][-1]]
# two
# three
# four
0. Phần tử thứ hai
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
12 của danh sách này là một chuỗi không bao gồm dòng đầu tiên. Vì nó là phần tử cuối cùng nên nó có thể được chỉ định là
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
13

________số 8

nguồn. str_split_rsplit. py

Tương tự, để xóa hai dòng đầu tiên

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
1

nguồn. str_split_rsplit. py

Tách từ bên phải bởi dấu phân cách.
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5 tách từ bên phải của chuỗi

  • str. rsplit[] — Python 3. 7. 3 tài liệu

Kết quả chỉ khác với

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 khi tham số thứ hai
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4 được đưa ra

Tương tự như

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2, nếu bạn muốn xóa dòng cuối cùng, hãy sử dụng
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3

nguồn. str_split_rsplit. py

Để xóa hai dòng cuối cùng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4

nguồn. str_split_rsplit. py

Chia theo ngắt dòng.
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6

Ngoài ra còn có một

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6 để phân tách theo ranh giới dòng

  • str. splitlines[] — Python 3. 7. 3 tài liệu

Như trong các ví dụ trước,

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 và
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5 được phân tách theo mặc định với khoảng trắng bao gồm ngắt dòng và bạn cũng có thể chỉ định ngắt dòng với tham số
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3

Tuy nhiên, thường tốt hơn là sử dụng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6

Ví dụ: chuỗi tách có chứa

s_lines = 'one\ntwo\nthree\nfour'
print[s_lines]
# one
# two
# three
# four

print[s_lines.split['\n', 1]]
# ['one', 'two\nthree\nfour']

print[s_lines.split['\n', 1][0]]
# one

print[s_lines.split['\n', 1][1]]
# two
# three
# four

print[s_lines.split['\n', 1][-1]]
# two
# three
# four
0 [LF, được sử dụng trong Hệ điều hành Unix bao gồm Mac] và
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
37 [CR + LF, được sử dụng trong Hệ điều hành Windows]

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3

nguồn. str_split_rsplit. py

Khi áp dụng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2, theo mặc định, nó được phân tách không chỉ bởi dấu ngắt dòng mà còn bởi dấu cách

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5

nguồn. str_split_rsplit. py

Vì chỉ có thể chỉ định một ký tự xuống dòng trong

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3, nên không thể tách nó ra nếu có các ký tự xuống dòng hỗn hợp. Nó cũng được chia ở cuối ký tự xuống dòng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
7

nguồn. str_split_rsplit. py

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6 phân tách ở các ký tự dòng mới khác nhau nhưng không phân tách ở các khoảng trắng khác

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
40

nguồn. str_split_rsplit. py

Nếu đối số đầu tiên,

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
41, được đặt thành
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
42, thì kết quả sẽ bao gồm một ký tự xuống dòng ở cuối dòng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
41

nguồn. str_split_rsplit. py

Xem bài viết sau để biết các thao tác khác với ngắt dòng

  • Xử lý ngắt dòng [dòng mới] trong Python

Liên kết được tài trợ

Chia theo regex.
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
7

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 và
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5 chỉ tách ra khi
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3 khớp hoàn toàn

Nếu bạn muốn tách một chuỗi khớp với biểu thức chính quy [regex] thay vì khớp hoàn hảo, hãy sử dụng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 của mô-đun re

  • lại. split[] — Các phép toán biểu thức chính quy — Python 3. 7. 3 tài liệu

Trong

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
7, chỉ định mẫu biểu thức chính quy trong tham số đầu tiên và chuỗi ký tự đích trong tham số thứ hai

Một ví dụ về chia cho các số liên tiếp như sau

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
42

nguồn. str_re_split. py

Số lần phân tách tối đa có thể được chỉ định trong tham số thứ ba,

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
43

nguồn. str_re_split. py

Chia theo nhiều dấu phân cách khác nhau

Hai điều sau đây rất hữu ích để ghi nhớ ngay cả khi bạn không quen thuộc với biểu thức chính quy

Kèm theo một chuỗi với

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
30 để khớp với bất kỳ ký tự đơn nào trong đó. Bạn có thể tách chuỗi theo nhiều ký tự khác nhau

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
44

nguồn. str_re_split. py

Nếu các mẫu được phân định bởi

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
31, thì nó khớp với bất kỳ mẫu nào. Tất nhiên, có thể sử dụng các ký tự đặc biệt của biểu thức chính quy cho mỗi mẫu, nhưng cũng không sao ngay cả khi chuỗi bình thường được chỉ định như vậy. Bạn có thể chia theo nhiều chuỗi khác nhau

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
45

nguồn. str_re_split. py

Nối một danh sách các chuỗi

Trong các ví dụ trước, bạn có thể tách chuỗi và lấy danh sách

Nếu bạn muốn nối một danh sách các chuỗi thành một chuỗi, hãy sử dụng phương thức chuỗi,

s_lines = 'one\ntwo\nthree\nfour'
print[s_lines]
# one
# two
# three
# four

print[s_lines.split['\n', 1]]
# ['one', 'two\nthree\nfour']

print[s_lines.split['\n', 1][0]]
# one

print[s_lines.split['\n', 1][1]]
# two
# three
# four

print[s_lines.split['\n', 1][-1]]
# two
# three
# four
2

Gọi

s_lines = 'one\ntwo\nthree\nfour'
print[s_lines]
# one
# two
# three
# four

print[s_lines.split['\n', 1]]
# ['one', 'two\nthree\nfour']

print[s_lines.split['\n', 1][0]]
# one

print[s_lines.split['\n', 1][1]]
# two
# three
# four

print[s_lines.split['\n', 1][-1]]
# two
# three
# four
2 từ
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
34 và chuyển danh sách các chuỗi được nối với đối số

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
46

nguồn. str_split_rsplit. py

Xem bài viết sau để biết chi tiết về nối chuỗi

  • Nối các chuỗi trong Python [toán tử +, nối, v.v. ]

Tách dựa trên số lượng ký tự. lát cắt

Sử dụng slice để tách chuỗi dựa trên số lượng ký tự

  • Cách cắt danh sách, chuỗi, tuple trong Python

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
47

nguồn. str_split_rsplit. py

Nó có thể được lấy dưới dạng một bộ hoặc được gán cho một biến tương ứng

  • Nhiều bài tập trong Python. Gán nhiều giá trị hoặc cùng một giá trị cho nhiều biến

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
48

nguồn. str_split_rsplit. py

Chia thành ba

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
49

nguồn. str_split_rsplit. py

Số lượng ký tự có thể được lấy bằng chức năng tích hợp sẵn

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
35. Nó cũng có thể được chia thành hai nửa bằng cách sử dụng này

Chủ Đề