Hướng dẫn can i split a string by two delimiters python? - tôi có thể chia một chuỗi bằng python hai dấu phân cách 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)
5.


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

Hướng dẫn can i split a string by two delimiters python? - tôi có thể chia một chuỗi bằng python hai dấu phân cách không?

Cập nhật lần cuối vào ngày 14 tháng 10 năm 2022 lúc 03:23 chiều

Để phân chia một chuỗi với đa phương thức trong Python,split a string with multiple delimiters in Python,

  1. Sử dụng phương thức re.split () chỉ định nhiều mẫu cho dấu phân cách. re.split() method that specifies multiple patterns for the separator.
  2. Sử dụng phương thức String.Replace () và String.Split ().string.replace() and string.split() method.

Chuỗi phân tách Python trên một dấu phân cách

Để phân chia một chuỗi với SingleDelimiter trong Python, hãy sử dụng phương thức chuỗi.split (). Chuỗi chia () là một hàm Python tích hợp để chia chuỗi thành một danh sách.split a string with a single delimiter in Python, use the string.split() method. The string split() is a built-in Python function that splits the string into a list.

str = "Hey, Copines is a good song"

print(str.split(","))

Đầu ra

['Hey', ' Copines is a good song']

Trong ví dụ này, chúng tôi chia chuỗi từ dấu phẩy, một dấu phân cách trong chuỗi.

Để phân chia một chuỗi với đa phương tiện trong Python, hãy sử dụng phương thức re.split (). Hàm re.split () chia chuỗi theo từng lần xuất hiện của mẫu.split a string with multiple delimiters in Python, use the re.split() method. The re.split() function splits the string by each occurrence of the pattern.

Delimiter là một loạt các ký tự xác định ranh giới giữa các vùng riêng biệt, độc lập trong văn bản thuần túy hoặc các luồng dữ liệu khác.

import re

str = "Hey, Copines is a good song; I like that song"

print(re.split('; |, |\*|\n', str))

Đầu ra

['Hey', 'Copines is a good song', 'I like that song']

Trong ví dụ này, chúng tôi chia chuỗi từ dấu phẩy, một dấu phân cách trong chuỗi.list.

Ví dụ của chúng tôi cho thấy rằng chuỗi chứa các biểu tượng khác nhau như là,, và, và; Do đó, chúng tôi đã phân chia chuỗi từ hai trình phân cách này bằng phương thức re.split ().“,”, and “;”. Therefore, we have split the string from these two delimiters using the re.split() method.

Chia phân tách bằng cách sử dụng phương thức thay thế ()

Chuỗi python thay thế () là một hàm tích hợp, trả về bản sao của chuỗi trong đó tất cả các lần xuất hiện của chuỗi con được thay thế bằng một chuỗi con khác. Chuỗi phân tách () là một hàm Python tích hợp để chia một chuỗi thành một danh sách. is a built-in function that returns the copy of the string where all occurrences of the substring are replaced with another substring. The string split() is a built-in Python function that splits a string into a list.

Đó là nó cho hướng dẫn này.

Bài viết liên quan

Chuỗi Python Splitlines

Chuỗi phân chia Python thành danh sách

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; ________ 18 & nbsp; cũng như với chuỗi tích hợp & 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; ____ 19, 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 
    >>> 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?"]
    
    1, meaning that all occurrences are split.

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:

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

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.

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!

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; ________ 18. Thư viện có phương thức tích hợp trong & nbsp; ____ 19 & 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; ____ 24 & 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; ________ 18 & nbsp; mô -đun:

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

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; ________ 18 & 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:

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

Những gì chúng tôi đã thực hiện ở đây được thông qua trong một chuỗi thô mà & nbsp; ________ 18 & nbsp; giúp giải thích. Chúng tôi vượt qua ký tự ống & nbsp; ________ 28 & nbsp; như một & nbsp; ____ 29 & 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:

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

Đ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; ____ 18 & 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:

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

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; ____ 18 & nbsp; cho các phân 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; ____ 18 & 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)
4

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; ____ 19 & 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; ____ 18, hãy xem & nbsp; tài liệu chính thức ở đây.

Làm thế nào để bạn chia một chuỗi với nhiều dấu phân tách?

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 2 đố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.. 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 .

Làm thế nào để bạn chia một chuỗi trong Python với hai điều kiện?

Một regex của [ -:] khớp với - ,, hoặc: và do đó phân tách chuỗi ngày/thời gian.Nếu bạn chỉ muốn chia tách trên - và: thì Regex của bạn phải là [ -:] hoặc - |: và nếu bạn muốn chia tách trên - và: thì regex của bạn phải là [ -:] hoặc - ||:.

Làm thế nào để bạn chia một chuỗi theo dấu phân cách trong Python?

Tách chuỗi dựa trên nhiều trình phân cách: Nhiều trình phân cách có thể được chỉ định làm tham số cho hàm chia () bằng cách tách từng dấu phân cách với một |.Chuỗi hoặc dòng đã cho có nhiều dấu phân cách được phân tách bằng hàm chia gọi là Re.Chia () hàm.Multiple delimiters can be specified as a parameter to the split() function by separating each delimiter with a |. The given string or line with multiple delimiters is separated using a split function called re. split() function.