Hướng dẫn can we pass multiple separators in split () python? - chúng ta có thể vượt qua nhiều dấu phân cách trong split () python không?

Đây là một cách an toàn cho bất kỳ người phân trang nào, sử dụng các biểu thức thông thường:

>>> import re
>>> delimiters = "a", "...", "(c)"
>>> example = "stackoverflow (c) is awesome... isn't it?"
>>> regex_pattern = '|'.join(map(re.escape, delimiters))
>>> regex_pattern
'a|\\.\\.\\.|\\(c\\)'
>>> re.split(regex_pattern, example)
['st', 'ckoverflow ', ' is ', 'wesome', " isn't it?"]

Re.escape cho phép xây dựng mô hình tự động và để các dấu phân cách thoát ra một cách độc đáo.

Đây là giải pháp này là một chức năng cho niềm vui sao chép của bạn:

def split(delimiters, string, maxsplit=0):
    import re
    regex_pattern = '|'.join(map(re.escape, delimiters))
    return re.split(regex_pattern, string, maxsplit)

Nếu bạn sẽ chia tách thường xuyên bằng cách sử dụng cùng một dấu phân cách, hãy biên dịch biểu thức thông thường của bạn trước như được mô tả và sử dụng

def split(delimiters, string, maxsplit=0):
    import re
    regex_pattern = '|'.join(map(re.escape, delimiters))
    return re.split(regex_pattern, string, maxsplit)
1.


Nếu bạn muốn để các dấu phân cách ban đầu trong chuỗi, bạn có thể thay đổi Regex để sử dụng khẳng định Lookbehind thay thế: thay vào đó:

>>> import re
>>> delimiters = "a", "...", "(c)"
>>> example = "stackoverflow (c) is awesome... isn't it?"
>>> regex_pattern = '|'.join('(?<={})'.format(re.escape(delim)) for delim in delimiters)
>>> regex_pattern
'(?<=a)|(?<=\\.\\.\\.)|(?<=\\(c\\))'
>>> re.split(regex_pattern, example)
['sta', 'ckoverflow (c)', ' is a', 'wesome...', " isn't it?"]

(Thay thế

def split(delimiters, string, maxsplit=0):
    import re
    regex_pattern = '|'.join(map(re.escape, delimiters))
    return re.split(regex_pattern, string, maxsplit)
2 bằng
def split(delimiters, string, maxsplit=0):
    import re
    regex_pattern = '|'.join(map(re.escape, delimiters))
    return re.split(regex_pattern, string, maxsplit)
3 để gắn các dấu phân cách vào phía bên tay, thay vì bên trái)

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để phân chia một chuỗi trên nhiều dấu phân cách. Bạn sẽ học cách thực hiện việc này với Thư viện biểu thức thường xuyên tích hợp & nbsp; ________ 14 & nbsp; cũng như với chuỗi tích hợp & nbsp; ________ 15 & nbsp;

Nhưng tại sao thậm chí học cách phân chia dữ liệu? Tách dữ liệu có thể là một kỹ năng vô cùng hữu ích để học. Dữ liệu có tất cả các hình dạng và nó thường không sạch sẽ như chúng ta muốn. Sẽ có nhiều lần khi bạn muốn chia một chuỗi bởi nhiều trình phân cách để làm cho nó dễ dàng hơn để làm việc.

Bây giờ, hãy bắt đâù!

  • Làm thế nào để bạn chia một chuỗi trong Python?
  • Chia một chuỗi python trên nhiều trình phân cách bằng cách sử dụng các biểu thức thông thường
  • Chia một chuỗi python trên nhiều trình phân cách bằng cách sử dụng Chuỗi Chia
  • Tạo một hàm để phân chia chuỗi python với nhiều trình phân cách
  • Sự kết luận

Làm thế nào để bạn chia một chuỗi trong Python?

Chia một chuỗi python trên nhiều trình phân cách bằng cách sử dụng các biểu thức thông thường

Chia một chuỗi python trên nhiều trình phân cách bằng cách sử dụng Chuỗi Chia

string.split(seperator, maxsplit)

Python có một phương thức tích hợp mà bạn có thể áp dụng cho chuỗi, được gọi là & nbsp; ________ 15, cho phép bạn chia một chuỗi theo một dấu phân cách nhất định.

  • Phương pháp trông như thế này:: argument accepts what character to split on. If no argument is provided, it uses any whitespace to split.
  • Trong phương pháp này,::: the number of splits to do, where the default value is 
    def split(delimiters, string, maxsplit=0):
        import re
        regex_pattern = '|'.join(map(re.escape, delimiters))
        return re.split(regex_pattern, string, maxsplit)
    
    7, meaning that all occurrences are split.

SEPERATOR: Đối số chấp nhận những gì nhân vật để chia tay. Nếu không có đối số nào được cung cấp, nó sử dụng bất kỳ khoảng trắng nào để chia.

sample_string = 'my name is nik, welcome to datagy'
split_string = sample_string.split(',')

print(split_string)

# Returns: ['my name is nik', ' welcome to datagy']

MAXSplit: Số lượng phân tách cần thực hiện, trong đó giá trị mặc định là & nbsp; ____ 17, có nghĩa là tất cả các lần xuất hiện được phân chia.

Hãy nói rằng bạn có một chuỗi mà bạn muốn chia bằng dấu phẩy - hãy để Lừa học cách làm điều này:

Chia một chuỗi python trên nhiều trình phân cách bằng cách sử dụng các biểu thức thông thường

Chia một chuỗi python trên nhiều trình phân cách bằng cách sử dụng Chuỗi Chia

Python có một phương thức tích hợp mà bạn có thể áp dụng cho chuỗi, được gọi là & nbsp; ________ 15, cho phép bạn chia một chuỗi theo một dấu phân cách nhất định.

re.split(pattern, string, maxsplit=0, flags=0)

Phương pháp trông như thế này:

Trong phương pháp này,::

import re

sample_string = 'my name is nik, welcome to datagy'
split_string = re.split(',', sample_string)

print(split_string)

# Returns: ['my name is nik', ' welcome to datagy']

SEPERATOR: Đối số chấp nhận những gì nhân vật để chia tay. Nếu không có đối số nào được cung cấp, nó sử dụng bất kỳ khoảng trắng nào để chia.

MAXSplit: Số lượng phân tách cần thực hiện, trong đó giá trị mặc định là & nbsp; ____ 17, có nghĩa là tất cả các lần xuất hiện được phân chia.

import re

sample_string = 'hi! my name is nik, welcome; to datagy'
split_string = re.split(r',|!|;', sample_string)

print(split_string)

# Returns: ['hi', ' my name is nik', ' welcome', ' to datagy']

Hãy nói rằng bạn có một chuỗi mà bạn muốn chia bằng dấu phẩy - hãy để Lừa học cách làm điều này:

Chúng ta có thể thấy ở đây rằng những gì mà trả về là một danh sách chứa tất cả các giá trị mới chia.

import re

sample_string = 'hi! my name is nik, welcome; to datagy'
split_string = re.split(r'[,;!]', sample_string)

print(split_string)

# Returns: ['hi', ' my name is nik', ' welcome', ' to datagy']

Kiểm tra một số hướng dẫn Python khác về DataGy, bao gồm hướng dẫn đầy đủ của chúng tôi về Gấu trúc kiểu dáng và tổng quan toàn diện của chúng tôi về các bảng xoay vòng trong gấu trúc!

Bạn cũng có thể tránh sử dụng & nbsp; ____ 14 & nbsp; hoàn toàn mô -đun. Mô -đun có thể hơi đáng sợ, vì vậy nếu bạn thoải mái hơn, bạn cũng có thể hoàn thành điều này mà không cần mô -đun.

Trong ví dụ dưới đây, bạn sẽ học cách phân chia chuỗi Python với nhiều trình phân cách bằng cách thay thế các giá trị trước tiên. Chúng tôi sẽ lấy chuỗi mới của chúng tôi và thay thế tất cả các trình phân cách để trở thành một dấu phân cách nhất quán. Hãy để một cái nhìn:

sample_string = 'hi! my name is nik, welcome; to datagy'

new_string = sample_string.replace('!', ',').replace(';', ',')
split_string = new_string.split(',')

print(split_string)

# Returns: ['hi', ' my name is nik', ' welcome', ' to datagy']

Phương pháp này hoạt động tốt khi bạn có một số lượng nhỏ các trình phân cách, nhưng nó nhanh chóng trở nên lộn xộn khi bạn có nhiều hơn 2 hoặc 3 trình phân cách mà bạn muốn chia chuỗi của mình. Nó tốt hơn để gắn bó với mô -đun & nbsp; ____ 14 & nbsp; để chia tách phức tạp hơn.

Tạo một hàm để phân chia chuỗi python với nhiều trình phân cách

Cuối cùng, hãy để Lừa xem cách phân tách một chuỗi bằng một hàm. Đối với chức năng này, chúng tôi sẽ sử dụng mô -đun & nbsp; ____ 14 & nbsp; Bạn có thể vượt qua trong một danh sách các dấu phân cách và một chuỗi và có một chuỗi phân chia được trả về.

Bắt đầu nào!

def split(delimiters, string, maxsplit=0):
    import re
    regex_pattern = '|'.join(map(re.escape, delimiters))
    return re.split(regex_pattern, string, maxsplit)
0

Sự kết luận

Trong bài đăng này, bạn đã học được cách chia chuỗi Python bằng nhiều trình phân cách. Bạn đã học cách thực hiện việc này bằng cách sử dụng phương thức tích hợp & nbsp;

Để tìm hiểu thêm về việc chia các chuỗi python, hãy xem tài liệu & nbsp; ____ 15 & nbsp; phương thức tại đây. Để tìm hiểu thêm về việc chia các chuỗi với & nbsp; ____ 14, hãy xem & nbsp; tài liệu chính thức ở đây.

Làm thế nào để bạn thêm nhiều dấu phân tách trong Split?

Sử dụng phương thức String.Split () để chia một chuỗi với nhiều dấu phân cách, ví dụ:str.chia (/[-_]+/).Phương thức phân chia có thể được truyền một biểu thức chính quy chứa nhiều ký tự để phân chia chuỗi với nhiều dấu phân cách. split() method to split a string with multiple separators, e.g. str. split(/[-_]+/) . The split method can be passed a regular expression containing multiple characters to split the string with multiple separators.

Chúng ta có thể vượt qua nhiều đối số trong split () không?

Split () chỉ hoạt động với một đối số, vì vậy tôi có tất cả các từ với dấu câu sau khi tôi chia bằng khoảng trắng., so I have all words with the punctuation after I split with whitespace.

Làm thế nào để bạn chia nhiều hơn một không gian trong Python?

Phương thức chia () để chia một chuỗi theo một hoặc nhiều khoảng trắng.STR.Phương thức chia () chia chuỗi thành một danh sách các chuỗi con bằng cách sử dụng dấu phân cách. to split a string by one or more spaces. The str. split() method splits the string into a list of substrings using a delimiter.