繁体   English   中英

如何从 python 中的字符串中去除某些字符

[英]How to strip certain characters from a string in python

我正在尝试从字符串中删除某些字符。 我的字符串是 -

test_list = ['INFO:      196ns ### Starting ABC Test ###\n', 'INFO:     310ns ### Starting write_def_test ###\n', 'INFO:     752ns ### Starting write_55s_test ###\n', 'INFO:    152ns ### Starting rands_test ###\n', 'INFO:    237ns ### Starting dog_wffs_test ###\n']

我的代码是 -

test_list_1 = []
for i in test_list:
    m = i.strip("INFO:      ")
    m = m.strip("###")
    test_list_1.append(m)
print(test_list_1)

我要找的output是-

['ABC Test', 'write_def_test', 'write_55s_test', 'rands_test', 'dog_wffs_test']

我怎么才能得到它?

你最好在这里使用regex ,即:

import re

out = re.findall('Starting ([^#]+)', '|'.join(test_list))

我同意正则表达式可能是用于复杂模式匹配的 go 的方式,如果您不能使用它或出于任何原因不想学习它,则 string.find() 方法对于像这样的简单情况非常有用/一次关闭准备正则表达式可能会花费太多时间:

test_list_1 = []
for i in test_list:
    test_list_1.append(i[i.find('### ') + 13 : i.find('###\n') - 1])
print(test_list_1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM