我希望我的文字转换成 args深深的小步
import re
originalFile = "args(deep) ( deep ) peed)"
print(originalFile)
originalFile = re.sub(r'((\s+)[\( \)])',r'', re.sub(r'([A-Za-z0- 9][\( \)])',r' ', originalFile))
print(originalFile)
但是在运行代码时我得到了输出
args(deeo) ( deep ) peed)
arg dee dee pee
答案 0 :(得分:0)
您可以将每个括号替换为一个空格,然后过滤多个空格:
import re
t = t.replace("(", " ")
t = t.replace(")", " ")
re.sub(' +', ' ', t)
使用以下regex:
re.sub("(\s*[()]\s*)+", " ", t)
答案 1 :(得分:0)
您可以使用以下正则表达式(用空格代替)与紧随其后的对strip()
的后续调用:
\s*[()][\s()]*
请参见regex demo。
正则表达式详细信息
\s*
-超过0个空格[()]
-一个)
或(
[\s()]*
-0+个空格,(
或)
个字符。import re
originalFile = "args(deep) ( deep ) peed)"
print(re.sub(r"\s*[()][\s()]*", " ", originalFile).strip())
# => args deep deep peed