Python:从字符串中删除选定的空格

时间:2018-09-14 06:52:38

标签: python

我想删除字符串中某些选定的空格。 可以说我有一个空白索引要删除:

w_index = [1,3]

还有一个字符串:

str = 'a b c d'

我需要删除第一个和第三个空格,这样最终结果是:

str = 'ab cd' 

谢谢。

2 个答案:

答案 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