Hướng dẫn input delimiter python - dấu phân cách đầu vào python

Đâ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]
8.

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['[?

Bài Viết Liên Quan

Chủ Đề