我想删除字符串中某些选定的空格。 可以说我有一个空白索引要删除:
w_index = [1,3]
还有一个字符串:
str = 'a b c d'
我需要删除第一个和第三个空格,这样最终结果是:
str = 'ab cd'
谢谢。
答案 0 :(得分:1)
您无法在python中更改字符串。您要做的是创建一个新字符串并连接子字符串。您遍历索引数组并创建一个从开始到第一个索引(不包括),从第一个+1到第二个索引的子字符串,依此类推。最后,您将字符串组合在一起。
答案 1 :(得分:1)
Python索引从零开始,所以我调整了w_index列表。
w_index = [0,2]
此外,str
在Python中是一个特殊名称,因此我重命名了您的字符串变量。
string = 'a b c d'
现在创建一个新列表wpos
,该列表给出每个空白在string
中的位置。
wpos = [i for (i, char) in enumerate(str) if char == ' ']
print "wpos:", wpos
输出:
>> wpos: [1, 3, 5]
然后我们可以反向遍历w_index并通过其位置删除空格。我们无法像列表那样pop()
字符串,因此请将字符串一分为二并将其重新组合在一起以创建新字符串。
for i in w_index[::-1]:
pos = wpos[i]
string = string[:pos] + string[(pos+1):]
print string
输出:
>> ab cd