我有一个.csv文件可能包含括号:
line = "fdf,dfdf,(1,2,3,4,5),(ss,dd),"
现在我想用“”替换所有的(),所以它看起来像这样:
line = 'fdf,dfdf,"1,2,3,4,5","ss,dd",'
我的代码是:
line=re.sub(',(', ',"', line)
line=re.sub('),', '",', line)
但是我收到了这个错误:
...
File "/usr/local/Python-2.7/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/usr/local/Python-2.7/lib/python2.7/re.py", line 242, in _compile
raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis
这里有什么问题?!!
答案 0 :(得分:4)
如何简单的字符串替换
print strs.replace("(",'"').replace(")",'"')
不需要正则表达式
有些人在遇到问题时会想“我知道,我会用 正则表达式。“现在他们有两个问题。
答案 1 :(得分:2)
(
在正则表达式中具有特殊含义,您可以使用\(
转义它们,或者使用方括号[]
括号。
>>> import re
>>> strs = "fdf,dfdf,(1,2,3,4,5),(ss,dd),"
>>> re.sub(r"[()]",'"',strs)
'fdf,dfdf,"1,2,3,4,5","ss,dd",'
#or
>>> re.sub(r"\(|\)",'"',strs)
'fdf,dfdf,"1,2,3,4,5","ss,dd",'
答案 2 :(得分:0)
另一个人会考虑这个..
import re
re.sub('\)', '\"', re.sub('\(', '\"', line))
你要做的就是更换一个pran然后更换另一个pran。