看起来很简单,"从列表中的字符串中删除空格"。但出于某种原因,我的代码没有用。
new_list = []
channels = "KMP, PRIME"
channel = channels.split(",")
for each in channel:
re.sub(r'^[^a-zA-Z]*', ' ', each)
new_list.append(each)
我也试过 lstrip / strip ,但都没有用。为什么? 如果我"欺骗"使用以下代码,它将工作。我仍然想要解决问题的根源。为了使它正确,我应该改变什么?
channel = channels.split(",")
答案 0 :(得分:3)
以下是使用列表推导和str.strip
的一种方法。
请注意,此任务似乎不需要正则表达式。
channels = 'KMP, PRIME'
lst = [i.strip() for i in channels.split(',')]
# ['KMP', 'PRIME']
res = ','.join(lst)
# KMP,PRIME
答案 1 :(得分:1)
来自(Docs):
返回通过替换字符串中最左边不重叠的模式而获得的字符串...
您需要保持按.sub()
for each in channel:
new_list.append(re.sub(r'^[^a-zA-Z]*', ' ', each))
答案 2 :(得分:0)
您也可以尝试这种方法:
print(list(map(lambda x:x.strip(),channels.split(','))))
输出:
['KMP', 'PRIME']