嗨,大家好!我试图调试someones代码,我发现了问题.程序循环遍历一个字符串数组并计算某些结束.问题是这些字符串中的一些_以此结束,因此计数出错.我想使用正则表达式,但我没有足够的经验.有人能帮助我吗?
我想遍历数组和每个字符串检查它是否以_('s)结束并修剪所有这些_以将它们再次放入数组中!
更新
谢谢你的rstrip建议!我曾尝试编写一个适用于我的数据的代码,但还没有运气......
data_trimmed = []
for x in data:
x.rstrip('_')
data_trimmed.append(x)
print(data_trimmed)
Run Code Online (Sandbox Code Playgroud)
但这仍然会回归: ['Anna__67_______', 'Dyogo_3__', 'Kiki_P1_', 'BEN_40001__', .... ]
您可以使用rstrip('_')删除尾随下划线:
In [15]:
'__as_das___'.rstrip('_')
Out[15]:
'__as_das'
Run Code Online (Sandbox Code Playgroud)
因此,您可以看到任何前导下划线和字符串中间的任何下划线都不受影响,请参阅文档:https://docs.python.org/2/library/string.html#string-functions
要回答更新的问题,您可以使用列表推导来更新列表中的每个字符串:
In [18]:
a = ['Anna__67_______', 'Dyogo_3__', 'Kiki_P1_', 'BEN_40001__']
a = [x.rstrip('_') for x in a]
a
Out[18]:
['Anna__67', 'Dyogo_3', 'Kiki_P1', 'BEN_40001']
Run Code Online (Sandbox Code Playgroud)