删除彼此相邻多次出现的字符串 - JavaScript 或 jQuery
remove strings that occur more than once next to each other - javascript or jquery
我有一个这样的字符串:
var main_str = 'Hi I have |str| way |str||str| too |str||str||str| many breaks';
我需要删除另一个|str|
旁边发生的任何|str|
。
想要的结果:
var main_str = 'Hi I have |str| way |str| too |str| many breaks |str|';
换句话说,如果有许多|str|
彼此相邻,我们将删除除一个之外的所有。
var main_str = 'Hi I have |str| way |str||str| too |str||str||str| many breaks';
main_str = main_str.replace(/('|str'|){2,}/g, '|str|');
console.log(main_str);
另一种简单的方法是根据您计划使用的任何分隔符.split()
字符串,.filter()
非空元素,然后使用相同的分隔符.join()
:
JavaScript
var str = "Hi I have |str| way |str||str| too |str||str||str| many breaks";
var x = str.split("|str|").filter(function (d){
return d.length;
}).join("|str|");
console.log(x)
// returns "Hi I have |str| way |str| too |str| many breaks |str|";
这使您可以避免为每种情况创建特定的正则表达式(没有转义字符(,而是通过.split()
和.join()
运行变量。
不确定此解决方案是否更快。在非 Chromium 浏览器中似乎更快。我推测 Chrome 是有效的,因为 v8 引擎,在运行一百万次正则表达式之前编译它,使正则表达式解决方案更快。
小提琴
相关文章:
- 将DOM节点值与字符串Javascript进行比较
- 到UpperCase字符串Javascript中的特定字符索引
- 替换字符串javascript中的所有特殊字符..
- 在数组中查找某些字符串(Javascript)
- 解析特定的字符串Javascript(Node.js)
- 从字符串 JavaScript 中过滤多个正则表达式
- 在字符串 JavaScript 中使用正则表达式替换
- 忽略字符串javascript中的字符
- 如何检查url是否包含多个字符串.Javascript/jquery
- 截断字符串JavaScript
- 计算字符串javascript中的某些单词
- 从'获取本月的最后一天;2015-02-23'字符串(javascript)
- 从字符串javascript中获取键值对
- 从路径字符串 - Javascript 获取所有父路径
- 在字符串Javascript中查找丢失的字母
- AngularJS:如何使所有ng模型都是字符串.JavaScript和长整数
- 将浮点转换为至少有一个小数点的字符串(javascript)
- 替换字符串 JavaScript 中的多个文本
- 检查另一个字符串 JavaScript 中一个字符串是否有任何字符的最佳方法
- 将变量的值包含在 href 字符串 javascript 中