我试图在Python中编写一个简单的正则表达式来识别逗号或换行符,以用作分隔符和split()文本。
我尝试了以下内容:
delim = r'[,\n]'
delim = r'[\n,]'
delim = r',|\n'
delim = r'[,|\n]'
delim = r'(,\n)'
这些都不起作用。如果我只使用一个或另一个,例如...
,split()工作正常delim = r','
delim = r'\n'
但如果我尝试两者都行不行。
我在这里缺少什么?
感谢您的投入。
整个代码:
data = "abc,def\nghi"
delim = r'[,\n]'
values = data.split(delim)
print(values)
答案 0 :(得分:6)
您正在使用str.split()
,它不会将正则表达式作为参数。
尝试在正则表达式字符串上使用re.compile
,然后使用该对象进行拆分:
import re
data = "abc,def\nghi"
delim = re.compile(r'[,\n]')
values = delim.split(data)
print(values)
收率:
['abc', 'def', 'ghi']
答案 1 :(得分:2)
这是bult-in python re模块
import re
data = "abc,def\nghi"
re.split(",|\n", data)
Out[3]: ['abc', 'def', 'ghi']
您可以输入分隔符列表",| \ n |; | whatever | whatever2"