如何在javascript字符串中删除索引之间的字符

sca*_*man 19 javascript

我有以下内容:

var S="hi how are you";
var bindex = 2;
var eindex = 6;
Run Code Online (Sandbox Code Playgroud)

我如何从存在于bindex和eindex之间的S中删除所有字符?
因此S将是"你好,你是谁"

小智 36

在bindex之前获取文本并在eindex之后与文本连接,如:

var S="hi how are you"; 
var bindex = 2; var eindex = 6; 
S = S.substr(0, bindex) + S.substr(eindex);
Run Code Online (Sandbox Code Playgroud)

S现在是"你好吗"

  • 这似乎是最安全的方法。应该是公认的答案 (2认同)
  • 我喜欢这个,它可以避免友军开火。 (2认同)
  • substr 已被弃用 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr (2认同)

Anu*_*rag 16

首先找到要替换的字符串的子字符串,然后用空字符串替换该字符串的第一个匹配项.

S = S.replace(S.substring(bindex, eindex), "");
Run Code Online (Sandbox Code Playgroud)

另一种方法是将字符串转换为数组,splice输出不需要的部分并再次转换为字符串.

var result = S.split('');
result.splice(bindex, eindex - bindex);
S = result.join('');
Run Code Online (Sandbox Code Playgroud)

  • 第一种方法可以取代比预期更多的东西. (17认同)

Ale*_*rar 11

尝试

S = S.substring(0, bindex)+S.substring(eindex);
Run Code Online (Sandbox Code Playgroud)


lon*_*day 6

String.slice

S = S.slice(0, bindex) + S.slice(eindex);
Run Code Online (Sandbox Code Playgroud)