如何从索引数组中替换字符串中的字符?

Posted

技术标签:

【中文标题】如何从索引数组中替换字符串中的字符?【英文标题】:How to replace chars in string from array of indexes? 【发布时间】:2021-08-25 00:37:06 【问题描述】:

假设我有一个空数组:

ws = []

还有字符串:

text = "cmon lets go"

我将检查空格并将空格的索引存储在 ws 数组中,以便之后我将拥有:

ws = [4, 9]

然后我会得到一些其他的字符串:

new_string = "cmonzletszgo"

所有空格都用字母 z 进行切换(没关系)。 现在我想遍历 new_string 并用空格替换数组 ws 中索引中的字符所以我想得到

new_string = "cmon lets go"

【问题讨论】:

这两个问题还是一个问题?我看不出您的索引列表与字符串中带有 z 的另一个索引列表有何关系。前者似乎只是将replace() 方法用于str 类型。 new_string = new_string.replace('z', ' ') *** 不是免费的编码服务。您应该发送honest attempt at the solution,然后然后在必要时询问有关它的具体问题。 【参考方案1】:

由于您有要替换的索引,您可能想尝试迭代 ws 而不是 new_string

for i in ws:
   new_string = new_string[:i] + ' ' + new_string[i + 1:]

这会将new_string 中的字符替换为ws 中指定索引处的空格,而不管当前可能存在什么字符。

【讨论】:

【参考方案2】:

我只考虑第一部分,它是一个单行。

ws = [i for i, ch in enumerate(text) if ch.isspace()]

我错过了第二部分的一个关键点,其意图是使用 ws 进行替换。再次,单行:

new_string = ''.join([' ' if i in ws else ch for i, ch in enumeration(new_string)])

【讨论】:

以上是关于如何从索引数组中替换字符串中的字符?的主要内容,如果未能解决你的问题,请参考以下文章

PHP使用字符串替换从多维数组中的键值替换关键字

我可以在空的arraylist索引上替换或放置一个新字符串吗

IOS,如何在数组中的 dic 中循环 dic 以替换空字符串的空值

如何从文件中获取数据并替换Sudoku游戏中的预定义数组

替换熊猫索引对象中的字符串元素

如何在 SQL 中替换 json 字符串中的数字数组?