Hướng dẫn can you have two delimiters in python? - bạn có thể có hai dấu phân cách trong 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.

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 và tổng quan toàn diện của chúng tôi về các bảng Pivot trong Pandas!

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

Cách trực quan nhất để phân chia chuỗi là sử dụng thư viện biểu thức chính quy tích hợp & nbsp; ________ 14. Thư viện có phương thức tích hợp trong & nbsp; ____ 15 & nbsp; tương tự như ví dụ được đề cập ở trên. Điều độc đáo của phương pháp này là nó cho phép bạn sử dụng các biểu thức thông thường để phân chia chuỗi của chúng tôi.

Hãy cùng xem phương pháp này trông như thế nào:

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

Tương tự như ví dụ trên, đối số & nbsp; ____ 20 & nbsp; cho phép chúng tôi đặt tần suất một chuỗi nên được chia. Nếu nó được đặt thành bất kỳ số khác không tích cực, thì nó sẽ chỉ chia số lần đó.

Vì vậy, hãy để lặp lại ví dụ trước đó của chúng tôi với & nbsp; ________ 14 & nbsp; mô -đun:

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

Bây giờ, giả sử bạn có một chuỗi có nhiều dấu phân cách. Phương thức & nbsp; ____ 14 & nbsp; giúp bạn dễ dàng phân chia chuỗi này!

Hãy cùng xem một ví dụ khác:

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

Những gì chúng tôi đã thực hiện ở đây được thông qua trong một chuỗi thô mà & nbsp; ________ 14 & nbsp; giúp giải thích. Chúng tôi vượt qua ký tự ống & nbsp; ________ 24 & nbsp; như một & nbsp; ________ 25 & nbsp; câu lệnh.

Chúng ta có thể đơn giản hóa điều này hơn nữa bằng cách truyền trong một bộ sưu tập biểu thức thông thường. Hãy để xem cách chúng ta có thể làm điều này:

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

Điều này trả về điều tương tự như trước đây, nhưng nó có một chút sạch hơn để viết và đọ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.

Bạn có thể sử dụng nhiều dấu phân cách trong Split Python không?

Để phân chia một chuỗi với nhiều trình phân cách trong Python, hãy sử dụng phương thức re.split ().Ở đó.Chức năng chia () chia chuỗi theo từng lần xuất hiện của mẫu.use the re. split() method. The re. split() function splits the string by each occurrence of the pattern.

Làm thế nào để bạn phân chia dấu phân cách trong Python?

Sử dụng phương thức Split () để chia theo dấu phân cách.Nếu đối số bị bỏ qua, nó sẽ được chia bằng khoảng trắng, chẳng hạn như khoảng trắng, newlines \ n và tab \ t.Khoảng trắng liên tiếp được xử lý cùng nhau.. If the argument is omitted, it will be split by whitespace, such as spaces, newlines \n , and tabs \t . Consecutive whitespace is processed together.

Làm thế nào để bạn phân chia với nhiều dấu phân?

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.

Có thể chia () lấy nhiều đối số?

Phương thức chia () chấp nhận hai đối số.Đối số tùy chọn đầu tiên là dấu phân cách, chỉ định loại phân tách nào sẽ sử dụng để phân tách chuỗi.Nếu đối số này không được cung cấp, giá trị mặc định là bất kỳ khoảng trắng nào, có nghĩa là chuỗi sẽ phân chia bất cứ khi nào.accepts two arguments. The first optional argument is separator , which specifies what kind of separator to use for splitting the string. If this argument is not provided, the default value is any whitespace, meaning the string will split whenever .