Tách chuỗi theo ký tự đặc biệt Python

Tham số n có thể được sử dụng để giới hạn số lần phân tách trên dấu phân cách. Đầu ra của split và rsplit là khác nhau

>>> s.str.split[n=2]
0                     [this, is, a regular sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object

>>> s.str.rsplit[n=2]
0                     [this is a, regular, sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object

Tham số pat có thể được sử dụng để phân chia theo các ký tự khác

>>> s.str.split[pat="/"]
0                         [this is a regular sentence]
1    [, , docs.python.org, 3, tutorial, index...
2                                                  NaN
dtype: object

Khi sử dụng

>>> s.str.rsplit[]
0                   [this, is, a, regular, sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object
1, các phần tử được phân chia sẽ mở rộng thành các cột riêng biệt. Nếu có NaN, nó sẽ được lan truyền khắp các cột trong quá trình phân tách

>>> s.str.split[expand=True]
                                               0     1     2        3         4
0                                           this    is     a  regular  sentence
1  //docs.python.org/3/tutorial/index.html  None  None     None      None
2                                            NaN   NaN   NaN      NaN       NaN

Đối với các trường hợp sử dụng phức tạp hơn một chút như tách tên tài liệu html khỏi url, có thể sử dụng kết hợp các cài đặt tham số

>>> s.str.rsplit["/", n=1, expand=True]
                                    0           1
0          this is a regular sentence        None
1  //docs.python.org/3/tutorial  index.html
2                                 NaN         NaN

Nhớ thoát các ký tự đặc biệt khi sử dụng biểu thức chính quy một cách rõ ràng

>>> s = pd.Series[["foo and bar plus baz"]]
>>> s.str.split[r"and|plus", expand=True]
    0   1   2
0 foo bar baz

Biểu thức chính quy có thể được sử dụng để xử lý các url hoặc tên tệp. Khi pat là một chuỗi và

>>> s.str.split[n=2]
0                     [this, is, a regular sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object
0 [mặc định], pat đã cho chỉ được biên dịch dưới dạng biểu thức chính quy nếu
>>> s.str.split[n=2]
0                     [this, is, a regular sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object
1

Trên trang này. . tách ra[],. tham gia [] và danh sách []

Tách một câu thành từ. . tách ra[]

Dưới đây, mary là một chuỗi duy nhất. Mặc dù đó là một câu, các từ không được biểu thị dưới dạng các đơn vị kín đáo. Đối với điều đó, bạn cần một loại dữ liệu khác. một danh sách các chuỗi trong đó mỗi chuỗi tương ứng với một từ. . split[] là phương thức sử dụng

>>> mary = 'Mary had a little lamb'
>>> mary.split[] 
['Mary', 'had', 'a', 'little', 'lamb'] 

split[] tách mary trên whitespce, và kết quả trả về là một danh sách các từ trong mary. Danh sách này chứa 5 mục như hàm len[] thể hiện. len[] trên mary, ngược lại, trả về số lượng ký tự trong chuỗi [bao gồm cả khoảng trắng]. Các ký tự khoảng trắng bao gồm khoảng trắng '', ký tự xuống dòng '\n' và tab '\t', trong số các ký tự khác. . split[] phân tách trên bất kỳ chuỗi kết hợp nào của các ký tự đó

Tách trên một chuỗi con cụ thể

Bằng cách cung cấp một tham số tùy chọn,. split['x'] có thể được sử dụng để tách một chuỗi trên một chuỗi con cụ thể 'x'. Không có 'x' được chỉ định,. split[] chỉ đơn giản là tách trên tất cả các khoảng trắng, như đã thấy ở trên

Chuỗi thành một danh sách các ký tự. danh sách[]

Nhưng nếu bạn muốn tách một chuỗi thành một danh sách các ký tự thì sao? . Hàm list[] biến một chuỗi thành một danh sách các chữ cái riêng lẻ

>>> s.str.rsplit[n=2]
0                     [this is a, regular, sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object
0

Tổng quát hơn, list[] là một hàm tích hợp để biến một đối tượng dữ liệu Python thành một danh sách. Khi một kiểu chuỗi được đưa ra, kết quả trả về là một danh sách các ký tự trong đó. Khi các loại dữ liệu khác được đưa ra, các chi tiết cụ thể sẽ khác nhau nhưng loại được trả về luôn là một danh sách. Xem hướng dẫn này để biết chi tiết

Tham gia một danh sách các chuỗi. . tham gia[]

Nếu bạn có một danh sách các từ, làm cách nào để ghép chúng lại với nhau thành một chuỗi?. tham gia [] là phương pháp để sử dụng. Được gọi trên chuỗi "dấu phân cách" 'x', 'x'. tham gia [y] tham gia mọi phần tử trong danh sách y được phân tách bằng 'x'. Dưới đây, các từ trong mwords được nối lại thành chuỗi câu với khoảng trắng ở giữa

>>> s.str.rsplit[n=2]
0                     [this is a, regular, sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object
1

Tham gia có thể được thực hiện trên bất kỳ chuỗi dấu phân cách nào. Bên dưới, '--' và ký tự tab '\t' được sử dụng

>>> s.str.rsplit[n=2]
0                     [this is a, regular, sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object
2

Phương thức này cũng có thể được gọi trên chuỗi trống '' làm dấu phân cách. Hiệu ứng là các phần tử trong danh sách được nối với nhau mà không có gì ở giữa. Dưới đây, một danh sách các ký tự được đặt lại với nhau thành chuỗi ban đầu

>>> s.str.rsplit[n=2]
0                     [this is a, regular, sentence]
1    [//docs.python.org/3/tutorial/index.html]
2                                                NaN
dtype: object
3

Làm cách nào để tách chuỗi có nhiều ký tự đặc biệt trong Python?

Phương pháp 1. Tách nhiều ký tự từ chuỗi bằng re. split[] Đây là phương pháp hiệu quả nhất và thường được sử dụng để chia nhiều ký tự cùng một lúc. Nó sử dụng regex [biểu thức chính quy] để làm điều này.

Làm cách nào để tách số ký tự và ký tự đặc biệt khỏi chuỗi đã cho trong Python?

Chia chuỗi str thành ba đoạn. một phân số; . .
Thêm nó vào chuỗi res1 nếu [ch là một chữ số]
Ngoài ra, nếu [ch là một bảng chữ cái], hãy thêm một chuỗi vào res2
Khác thêm nó vào chuỗi res3

Chủ Đề