【发布时间】:2018-10-06 04:40:10
【问题描述】:
我正在尝试找出替换字符串的第 n 个字符但在循环时忽略空格的最佳方法。例如,如果我要将字符串 mary had a little lamb 的每 5 个字符更改为 z,它应该返回 mary zad azlittze lazb
我认为的一种方法是删除所有空格(maryhadalittlelamb),然后将所有第 5 个字符更改为z(maryzadazlittzelazb),然后引用原始字符串,找到" " 的索引并插入转成maryzadazlittzelazb
但这似乎不是很优雅,我相信有更好的方法可以做到这一点,有人可以建议吗?
谢谢!
【问题讨论】:
-
在字符串中循环,每第 n 个字符用替换字符替换它,前提是它是字符串
-
我得到“mary zad a lzttle zamb”。你如何从
a little得到azlittze? -
对不起,我可能只是把自己弄糊涂了,但这有帮助吗?玛丽扎德 a lzttle zamb => 1234 512 3 451234 5123
-
我会使用正则表达式替换所有:像
((\S\s*){4})\S这样的正则表达式将匹配(并记住)4 个字符,其中空格交错,后跟一个字符,然后您可以将其替换为 @987654332 @ - 这将把它记住的 4 个字符和交错的空格放在 z... -
Nawnit的方法不够好吗?似乎循环遍历字符串并计算字符是最简单且非常有效的,仅通过字符串进行 1 次循环。