大家好!我正在尝试调试某人的代码,我发现了问题所在。该程序循环遍历字符串数组并计算特定的末端。问题在于其中一些字符串以 _
结尾,因此计数出错。我想使用正则表达式,但我的经验不够。有人可以帮助我吗?
我想遍历数组并检查每个字符串是否以 _
('s) 结尾并修剪所有这些 _
以将它们重新放入数组!
更新
感谢 rstrip
的建议!我试图编写一个适用于我的数据的代码,但还没有成功......
data_trimmed = []
for x in data:
x.rstrip('_')
data_trimmed.append(x)
print(data_trimmed)
但这仍然会返回:['Anna__67______', 'Dyogo_3__', 'Kiki_P1_', 'BEN_40001__', .... ]
最佳答案
您可以使用 rstrip('_')
删除结尾的下划线:
In [15]:
'__as_das___'.rstrip('_')
Out[15]:
'__as_das'
因此您可以看到任何前导下划线和字符串中间的任何下划线都不受影响,请参阅文档: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']
关于Python:从字符串末尾修剪下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40740646/