Skip to main content
 首页 » 编程设计

python之删除从python中的特定字符开始的字符串

2025年05月04日42grandyang

我在文件中有以下数据:

Neighbor        V          TblVer  InQ OutQ Up/Down  State/PfxRcd 
10.230.2.91     4          136041    0    0 35w6d        1178 
CHN_RAY_901_1AC_CASR903R004#   exit 
 
Neighbor        V          TblVer  InQ OutQ Up/Down  State/PfxRcd 
10.229.5.239    4          890585    0    0 7w5d         1177 
10.229.6.239    4          890585    0    0 7w5d         1173 
CHN_MAR_905_1AC_CASR903R066#   exit 
 
10.229.30.110 

我必须删除从 CHN 开始的行并得到如下输出:

Neighbor        V          TblVer  InQ OutQ Up/Down  State/PfxRcd 
10.230.2.91     4          136041    0    0 35w6d        1178 
 
Neighbor        V          TblVer  InQ OutQ Up/Down  State/PfxRcd 
10.229.5.239    4          890585    0    0 7w5d         1177 
10.229.6.239    4          890585    0    0 7w5d         1173 
 
10.229.30.110 

我试过:

b = ' '.join(word for word in content.split(' ') if not word.startswith('CHN')) 

content 是我想从中删除 CHN 的数据,但它不起作用。

您能建议实现这一目标的方法吗?这可以在不使用正则表达式的情况下完成吗?提前致谢。

请您参考如下方法:

使用单独的行而不是整个文件内容可能更容易:

with open("file") as f: 
    lines = [line for line in f if not line.startswith("CHN")] 
    filtered = "".join(lines)