javascript - 从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 一起使用?或者在这种情况下生产力的提高是疏忽的?
解决方案
split
除非您指定最大值,否则将查找所有出现次数;它在第二个参数中提供:
text.split('[new_ideas] ', 2)[1]
. 它还将为每个条目作为数组创建内存开销。但是,您可以简单地使用 replace 而无需任何正则表达式:
text.replace("[new_ideas] ", "")
由于操作方式,这只会删除第一次出现replace
(查看文档)。
推荐阅读
- java - 如何根据我单击的按钮更改 div 的颜色?( javascript/css/html 只有没有库)
- html - 在单行中显示子元素,除非它们溢出,然后显示单列
- javascript - "400 RecognitionAudio not set" & "InactiveRpcError" [Google text to Speech API]
- c# - 在 C# 中是否有另一种方法来链接相互关联的“if”块?
- html - 在 Flask 路由中运行无限循环
- pytorch - 如何在训练循环(以及优化器/调度器交互)中使用 Pytorch OneCycleLR?
- c++ - 编辑 R Makevars 文件以使 STAN 工作并使用 Rccp 并编译 C++
- mysql - 如何将“CREATE TEMPORARY TABLE as SELECT”拆分为 2 个语句以避免死锁
- c - 分段错误:我是否正确使用 malloc 来获取数组大小?
- angular - NgRx - Reducer 和 Effects 的执行顺序