正则表达式删除python中以“%”结尾的数字
问题描述:
快速问题,如何使用正则表达式或任何方法来删除以下列表中以%符号结尾的每个数值。如果以前有人问过类似的问题,请点击链接,不需要投票回答问题。 感谢正则表达式删除python中以“%”结尾的数字
my_list = [['First Class', 'F, U', '150%'], ['P', '125%'],
['Business Class', 'J, C, D, I', '125%'],
['Premium Economy Class', 'W', '110%'],
['Economy Class', 'Y, B', '100%'],
['E, H, M', '75%'],
['L, N, R, S, V, K', '50%'],
['T', '30%'],
['Not eligible for accrual', 'Z, Q, G', '0%']]
答
你可以只用一个正常list comprehension
与endswith()
测试子列表中的每个元素。
new_list = [[i for i in l if not i.endswith('%')] for l in my_list]
print(new_list)
给
[['First Class', 'F, U'], ['P'], ['Business Class', 'J, C, D, I'], ['Premium Economy Class', 'W'], ['Economy Class', 'Y, B'], ['E, H, M'], ['L, N, R, S, V, K'], ['T'], ['Not eligible for accrual', 'Z, Q, G']]
+0
谢谢。比使用正则表达式更好 – sheriff
嗯,不知道如果你真的尝试过的东西你自己了吗?正是为什么你想使用正则表达式? – abccd
嗯,正则表达式可能是'^ \ d +%$' –
我尝试了一些我自己的东西,它可以工作,但是这些单词被分解成字母,这吸引了 – sheriff