python-2.7 - 从python中的字符串中删除子字符串
问题描述
我有一个这样的字符串:
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
谢谢,
解决方案
正则表达式是一种选择:
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)
打印str_out
为
PEN BRANCH FROM BUS 264604 TO BUS 264888 CKT 1
正则表达式模式来自R 的这篇文章。它将匹配并用空字符串替换整个字符串中用方括号括起来的任何字符序列str_in
。
您可能还想删除因删除括号文本而产生的额外空间。如果您注意到,移除后会留下两个空格,而不仅仅是一个。如果是这种情况,您可以在 之后添加以下行re.sub
,
str_out = (' ').join(str_out.split(' '))
就这样str_out
变成了,
PEN BRANCH FROM BUS 264604 TO BUS 264888 CKT 1
推荐阅读
- javascript - 脚本有效,但脚本源无效 - ElectronJS
- shell - Gnuplot 图不填充画布
- java - Java解析包含字符串映射的Json对象以映射到字符串到字符串数组
- ssms - 如何回答 xp_cmdshell?
- android - 如何将工作人员参数传递给 WorkManager 类
- json - 如何使用 Json Extractor 获取访问令牌 Jmeter
- python - 使用 re.compile 根据其特征对文本文件中的未知单词进行分类
- c++ - 导致高 RTT 值的数据包数量少
- mysql - 为什么 MySQL 8 在子选择括号上抛出语法错误?
- excel - Countif 基于期间是否存在日期