如何使用 Python 将字符串拆分为多个标点符号?
How to split a string by multiple punctuations with Python?
s = 'a,b,c d!e.f\ngood\tmorning&night'
delimiters = [',', '.', '!', '&', '', '\n', '\t']
s.split()
我可以将字符串拆分为 ',', '.', '!', '&', ' ', '\n', '\t'
的全部吗?是否可以为 string.split()
指定多个分隔符?例如,如何将 s
拆分为
['a','b','c','d','e','f','good','morning','night']
您可以使用 regex
实现此目的:
>>> import re
>>> s = 'a,b,c d!e.f\ngood\tmorning&night'
>>> re.split('[?.,\n\t&! ]', s)
['a', 'b', 'c', 'd', 'e', 'f', 'good', 'morning', 'night']
如果您正在寻找使用 split()
的解决方案,那么这里有一个解决方法:
>>> identifiers = '!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~\n\t '
>>> "".join((' ' if c in identifiers else c for c in s)).split()
['a', 'b', 'c', 'd', 'e', 'f', 'good', 'morning', 'night']
在这里,我将字符串中的所有标识符替换为 space " "
,然后根据 space.
拆分字符串
s = 'a,b,c d!e.f\ngood\tmorning&night'
delimiters = [',', '.', '!', '&', '', '\n', '\t']
s.split()
我可以将字符串拆分为 ',', '.', '!', '&', ' ', '\n', '\t'
的全部吗?是否可以为 string.split()
指定多个分隔符?例如,如何将 s
拆分为
['a','b','c','d','e','f','good','morning','night']
您可以使用 regex
实现此目的:
>>> import re
>>> s = 'a,b,c d!e.f\ngood\tmorning&night'
>>> re.split('[?.,\n\t&! ]', s)
['a', 'b', 'c', 'd', 'e', 'f', 'good', 'morning', 'night']
如果您正在寻找使用 split()
的解决方案,那么这里有一个解决方法:
>>> identifiers = '!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~\n\t '
>>> "".join((' ' if c in identifiers else c for c in s)).split()
['a', 'b', 'c', 'd', 'e', 'f', 'good', 'morning', 'night']
在这里,我将字符串中的所有标识符替换为 space " "
,然后根据 space.