首页 > 解决方案 > 从Javascript中另一个字符串的开头删除一个字符串的最快方法是什么?

问题描述

我正在比较从另一个字符串中删除第一次出现的字符串的不同方法:数组拆分与正则表达式替换。

假设我有一个像这样的字符串:

[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与 RegExp 一起使用?或者在这种情况下生产力的提高是疏忽的?

标签: javascriptarraysstringperformance

解决方案


split除非您指定最大值,否则将查找所有出现次数;它在第二个参数中提供: text.split('[new_ideas] ', 2)[1]. 它还将为每个条目作为数组创建内存开销。但是,您可以简单地使用 replace 而无需任何正则表达式:

text.replace("[new_ideas] ", "")

由于操作方式,这只会删除第一次出现replace(查看文档)。


推荐阅读