Python 2.7 在python中从字符串中删除子字符串

Python 2.7 在python中从字符串中删除子字符串,python-2.7,Python 2.7,我有一个类似这样的字符串: OPEN BRANCH FROM BUS 264604 [19BVEO 345.00] TO BUS 264888 [19LRTY 345.00] CKT 1 OPEN BRANCH FROM BUS 264604 TO BUS 264888 CKT 1 我想删除“[”和“]”之间的子字符串。结果应该是这样的: OPEN BRANCH FROM BUS 264604 [19BVEO 345.00] TO BUS 264888 [19LR

我有一个类似这样的字符串:

OPEN BRANCH FROM BUS 264604 [19BVEO     345.00] TO BUS 
264888 [19LRTY     345.00] CKT 1
OPEN BRANCH FROM BUS 264604 TO BUS 264888 CKT 1
我想删除“[”和“]”之间的子字符串。结果应该是这样的:

OPEN BRANCH FROM BUS 264604 [19BVEO     345.00] TO BUS 
264888 [19LRTY     345.00] CKT 1
OPEN BRANCH FROM BUS 264604 TO BUS 264888 CKT 1

谢谢,

您可以使用
split

s='OPEN BRANCH FROM BUS 264604 [19BVEO     345.00] TO BUS 264888 [19LRTY     345.00] CKT 1'

pieces=[s.split(']')[-1] for s in s.split('[')]
print(pieces)
['OPEN BRANCH FROM BUS 264604 ', ' TO BUS 264888 ', ' CKT 1']

sentence=''.join(pieces)
print(sentence)
'OPEN BRANCH FROM BUS 264604  TO BUS 264888  CKT 1'

您可以使用
拆分

s='OPEN BRANCH FROM BUS 264604 [19BVEO     345.00] TO BUS 264888 [19LRTY     345.00] CKT 1'

pieces=[s.split(']')[-1] for s in s.split('[')]
print(pieces)
['OPEN BRANCH FROM BUS 264604 ', ' TO BUS 264888 ', ' CKT 1']

sentence=''.join(pieces)
print(sentence)
'OPEN BRANCH FROM BUS 264604  TO BUS 264888  CKT 1'
这是一种选择:

import re

str_in = 'PEN BRANCH FROM BUS 264604 [19BVEO     345.00] TO BUS 264888 [19LRTY     345.00] CKT 1'

str_out = re.sub('\\[[^\\]]*\\]', '', str_in)
打印
stru out
as

PEN BRANCH FROM BUS 264604  TO BUS 264888  CKT 1
正则表达式模式是从for R开始的。它将匹配并用空字符串替换整个字符串中由方括号括起的任何字符序列

您可能还希望删除因删除括号内文本而创建的额外空间。如果您注意到了,移除后只剩下两个空间,而不是一个。如果是这种情况,您可以在
re.sub
之后添加以下行

str_out = (' ').join(str_out.split('  '))
因此,
stru_out
成为

PEN BRANCH FROM BUS 264604 TO BUS 264888 CKT 1
这是一种选择:

import re

str_in = 'PEN BRANCH FROM BUS 264604 [19BVEO     345.00] TO BUS 264888 [19LRTY     345.00] CKT 1'

str_out = re.sub('\\[[^\\]]*\\]', '', str_in)
打印
stru out
as

PEN BRANCH FROM BUS 264604  TO BUS 264888  CKT 1
正则表达式模式是从for R开始的。它将匹配并用空字符串替换整个字符串中由方括号括起的任何字符序列

您可能还希望删除因删除括号内文本而创建的额外空间。如果您注意到了,移除后只剩下两个空间,而不是一个。如果是这种情况,您可以在
re.sub
之后添加以下行

str_out = (' ').join(str_out.split('  '))
因此,
stru_out
成为

PEN BRANCH FROM BUS 264604 TO BUS 264888 CKT 1