修剪字符串中括号内的任何子字符串

时间:2016-06-02 06:09:03

标签: regex python-2.7

我在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模块。

由于

1 个答案:

答案 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返回不变。