我有一个字符串:
'Specified, if char, else 10 (default).'
Run Code Online (Sandbox Code Playgroud)
我想把它分成两个元组
words=('Specified', 'if', 'char', 'else', '10', 'default')
separators=(',', ' ', ',', ' ', ' (', ').')
Run Code Online (Sandbox Code Playgroud)
有人对此有快速解决方案吗?
PS:此符号'-'是单词分隔符,不是单词的一部分
import re
line = 'Specified, if char, else 10 (default).'
words = re.split(r'\)?[, .]\(?', line)
# words = ['Specified', '', 'if', 'char', '', 'else', '10', 'default', '']
separators = re.findall(r'\)?[, .]\(?', line)
# separators = [',', ' ', ' ', ',', ' ', ' ', ' (', ').']
Run Code Online (Sandbox Code Playgroud)
如果您确实希望元组将结果传递到中tuple(),如果您不想words有空条目(从逗号和空格之间),请使用以下命令:
words = [x for x in re.split(r'\)?[, .]\(?', line) if x]
Run Code Online (Sandbox Code Playgroud)
要么
words = tuple(x for x in re.split(r'\)?[, .]\(?', line) if x)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |