Python chia theo

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 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

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ề

s_blank = 'one two     three\nfour\tfive'
print(s_blank)
# one two     three
# four  five

print(s_blank.split())
# ['one', 'two', 'three', 'four', 'five']

print(type(s_blank.split()))
# <class 'list'>

nguồn.

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

s_comma = 'one,two,three,four,five'

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

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

nguồn.

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 _______0_______4 thì nhiều nhất ________ 4 phép chia được thực hiện

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

nguồn.

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_lines.split('\n', 2)[-1])
# three
# four
0, 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_lines.split('\n', 2)[-1])
# three
# four
2 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_lines.split('\n', 2)[-1])
# three
# four
3

________số 8_______

nguồn.

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

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

nguồn.

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

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_lines.rsplit('\n', 1))
# ['one\ntwo\nthree', 'four']

print(s_lines.rsplit('\n', 1)[0])
# one
# two
# three

print(s_lines.rsplit('\n', 1)[1])
# four

nguồn.

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

print(s_lines.rsplit('\n', 2)[0])
# one
# two

nguồn.

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 chia theo ranh giới đường

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 chia 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 cả Mac) và
print(s_lines.rsplit('\n', 1))
# ['one\ntwo\nthree', 'four']

print(s_lines.rsplit('\n', 1)[0])
# one
# two
# three

print(s_lines.rsplit('\n', 1)[1])
# four
7 (CR + LF, được sử dụng trong Hệ điều hành Windows)

s_lines_multi = '1 one\n2 two\r\n3 three\n'
print(s_lines_multi)
# 1 one
# 2 two
# 3 three

nguồn.

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_lines_multi.split())
# ['1', 'one', '2', 'two', '3', 'three']

nguồn.

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

print(s_comma.split(',', 2))
# ['one', 'two', 'three,four,five']
3, nó không thể được phân tách 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_lines_multi.split('\n'))
# ['1 one', '2 two\r', '3 three', '']

nguồn.

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

s_comma = 'one,two,three,four,five'

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

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

nguồn.

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

print(s_lines.rsplit('\n', 2)[0])
# one
# two
1, được đặt thành
print(s_lines.rsplit('\n', 2)[0])
# one
# two
2, thì kết quả sẽ bao gồm một ký tự xuống dòng ở cuối dòng

s_comma = 'one,two,three,four,five'

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

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

nguồn.

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

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

s_comma = 'one,two,three,four,five'

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

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

nguồn.

Số lượng 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

s_comma = 'one,two,three,four,five'

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

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

nguồn.

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

Đính kèm một chuỗi với

s_lines_multi = '1 one\n2 two\r\n3 three\n'
print(s_lines_multi)
# 1 one
# 2 two
# 3 three
0 để 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

s_comma = 'one,two,three,four,five'

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

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

nguồn.

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

s_lines_multi = '1 one\n2 two\r\n3 three\n'
print(s_lines_multi)
# 1 one
# 2 two
# 3 three
1, nó sẽ 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

s_comma = 'one,two,three,four,five'

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

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

nguồn.

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ừ
s_lines_multi = '1 one\n2 two\r\n3 three\n'
print(s_lines_multi)
# 1 one
# 2 two
# 3 three
4 và chuyển danh sách các chuỗi sẽ được nối với đối số

s_comma = 'one,two,three,four,five'

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

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

nguồn.

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

  • Nối 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

s_comma = 'one,two,three,four,five'

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

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

nguồn.

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

s_comma = 'one,two,three,four,five'

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

print(s_comma.split('three'))
# ['one,two,', ',four,five']
8

nguồn.

Chia thành ba

s_comma = 'one,two,three,four,five'

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

print(s_comma.split('three'))
# ['one,two,', ',four,five']
9

nguồn.

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

s_lines_multi = '1 one\n2 two\r\n3 three\n'
print(s_lines_multi)
# 1 one
# 2 two
# 3 three
5. Nó cũng có thể được chia thành hai nửa bằng cách sử dụng này

Split() hoạt động như thế nào trong Python?

Phương thức split() chia chuỗi thành danh sách . Bạn có thể chỉ định dấu phân cách, dấu phân cách mặc định là bất kỳ khoảng trắng nào. Ghi chú. Khi maxsplit được chỉ định, danh sách sẽ chứa số phần tử đã chỉ định cộng với một.

split() lấy 2 đối số được không?

phương thức split() chấp nhận hai đối số . Đối số tùy chọn đầu tiên là dấu tách, chỉ định loại dấu tách sẽ sử dụng để tách chuỗi. Nếu đối số này không được cung cấp, thì giá trị mặc định là bất kỳ khoảng trắng nào, nghĩa là chuỗi sẽ tách ra bất cứ khi nào.

Split() Return trong Python là gì?

Hàm thao tác chuỗi trong Python dùng để chia chuỗi lớn hơn thành nhiều chuỗi nhỏ hơn được gọi là hàm split() trong Python. Hàm split() trả về các chuỗi dưới dạng danh sách .

split() hoạt động như thế nào?

split() Phương thức split() tách một Chuỗi thành nhiều Chuỗi với dấu phân cách phân tách chúng . Đối tượng được trả về là một mảng chứa các Chuỗi phân tách. Chúng ta cũng có thể vượt qua giới hạn cho số lượng phần tử trong mảng được trả về.