我有一个字符串'Predicate(big,small)'
如何从中派生以下字符串列表,['Predicate','(','big',',','small',')']
名称可以是任何内容,元素之间也可以有空格,如下所示(我需要从列表中取出空格),谓词(大,小)
到目前为止我已经尝试过了,但这显然不是我想要的结果
>>> str1 = 'Predicate(big,small)'
>>> list(map(str,str1))
输出:
['P', 'r', 'e', 'd', 'i', 'c', 'a', 't', 'e', '(', 'b', 'i', 'g', ',', 's', 'm', 'a', 'l', 'l', ')']
最佳答案
您可以使用 re.split()
在 (
或 )
上拆分字符串。您可以捕获正则表达式中的分隔符以将它们包含在最终输出中。与 str.strip()
结合使用来处理空格并过滤掉任何结尾的空字符串,您会得到如下结果:
import re
s = 'Predicate ( big ,small )'
[s.strip() for s in re.split(r'([\(\),])', s.strip()) if s]
# ['Predicate', '(', 'big', ',', 'small', ')']
关于python - 如何将以下 Python 字符串拆分为字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60581829/