从字符串中删除多个字符系列

时间:2017-05-13 04:00:23

标签: javascript

在知道每个字符串的索引时,有一种快速而简单的方法可以从字符串中删除多个字符串吗?

这是一个例子。

Hello you lovely world!

我想删除youworld!

6 个答案:

答案 0 :(得分:1)

您可以考虑编写自己的方法来拆分多个索引

检查以下代码段



var str = "Hello you lovely world!"
var arr = str.split(" ")
multiSplice([1, 3])

function multiSplice(indexes) {

  indexes.sort(function callback(a, b) {
    return a - b
  })
  for (let i = 0; i < indexes.length; i++) {
    const index = indexes[i] - i
    arr.splice(index, 1)
  }
}
console.log(arr.join(" "))
&#13;
&#13;
&#13;

希望有所帮助

答案 1 :(得分:1)

试试这个:

var str = 'Hello you lovely world!'; str.replace(/(you).*(world)/,'lovely')

答案 2 :(得分:0)

&#13;
&#13;
var str = $('div').text().replace(/you/g, '');
$('div').text(str);

var str = $('div').text().replace(/world/g, '');
$('div').text(str);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div id="text">hello you lovely world!</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您可以使用replace删除字词

var _sstring = 'Hello you lovely world!'
var newstr = _sstring.replace('you', '').replace('world', '')
console.log(newstr)

您还可以使用正则表达式进行一次替换

var _sstring = 'Hello you lovely world!'
var newstr = _sstring.replace(/you|world|/gi, '')
console.log(newstr)

答案 4 :(得分:0)

只需转换为数组并将项目拼接出来

var str = "Hello your lovely world";
var array = str.split(" ");
array.splice(1,3);

答案 5 :(得分:0)

以下代码将生成字符串“Hello lovely”,如下所示:

var str = "Hello you lovely world!";
var arr = str.split(" ");
arr.splice(1, 1);
arr.pop();
str = arr.join(" "); 
console.log(str);

请参阅demo

代码从数组中拼接“你”。然后,数组的pop()方法本身就是“世界”。

或者,您可以将str的replace方法与正则表达式一起使用,如下所示:

var str = 'Hello you lovely world!';
var re = /you|world!|[" "]/g;
var str2 = str.replace(re,"").replace("lovely"," lovely");
console.log(str2);

请参阅demo

匹配“你”或“世界”的部分字符串!或者将空格转换为空字符串,方法是将str.replace()与正则表达式作为其第一个参数,而不是简单的字符串,如第二次使用replace,这有效地在str2中插入一个空格。