我在python中有字符串:
line=r"X:\folder\Code\Mod\ACCSC1C1.c 351: Error -> Warning 550 Symbol XXX (line 34) not accessed"
我希望修剪此行以删除(第34行)。 但对于不同的情况,行数可能像行一样:
X:\ACCSC1C1.c 333: Error -> Warning 4' (line 536) not accessed X:\ACCSddC1.c 633: Error -> Warning 8' (line 111) not accessed
所以我的输出应该是:
X:\ACCSC1C1.c 333: Error -> Warning 4' not accessed X:\ACCSddC1.c 633: Error -> Warning 8' not accessed
我使用了通配符' *'但它甚至不能消除显示一些错误的括号(),通常是使用re模块。
由于
答案 0 :(得分:1)
试试这个:
import re
line=r"X:\folder\Code\Mod\ACCSC1C1.c 351: Error -> Warning 550 Symbol XXX (line 34) not accessed"
re.sub("\(line \d+\)", '', line)
'X:\ folder \ Code \ Mod \ ACCSC1C1.c 351:错误 - >警告550符号XXX未被访问'
来自sub
的文档:
re.sub(pattern,repl,string,count = 0,flags = 0)返回字符串 通过替换最左边的非重叠事件获得 替换repl中的字符串模式。如果找不到模式, string返回不变。