【发布时间】:2020-12-05 19:11:14
【问题描述】:
我正在比较从另一个字符串中删除第一次出现的字符串的不同方法:数组拆分与正则表达式替换。
假设我有一个像这样的字符串:
[new_ideas] This is a great new idea and we can be sure it works [new_ideas]
我只想从字符串中删除第一次出现的[new_ideas](不是第二次)。
最快、最有效的方法是什么?
到目前为止,我有:
let text = '[new_ideas] This is a great new idea and we can be sure it works [new_ideas]'
text = text.split('[new_ideas] ')[1]
console.log(text)
这是否足够快或有更好的方法来做到这一点?例如,将replace 与正则表达式一起使用?还是在这种情况下忽略了生产力提升?
【问题讨论】:
-
只有你才能说它是否足够快。要看!一般来说没问题。我想它比正则表达式更快
-
在替换原字符串时保持不变。
-
"或者在这种情况下是否忽略了生产力的提升?" - 是的,几乎可以肯定。但如果您真的很在意,您必须自己进行基准测试(使用您的真实数据,在您的真实环境中)。
-
我认为您的
split解决方案甚至都不正确。当要替换的字符串没有或不止一次出现时,它不会执行您想要的操作。您正在寻找text.replace(/^\[new_ideas\] /, '')或text.startsWith('[new_ideas] ') ? text.slice('[new_ideas] '.length) : text。
标签: javascript arrays string performance