0

如何从两个之间的字符串中删除indexOf

我有这个jsFiddle

这是我的代码:

 var x = "M 178.6491699876038 23.419570090792845 C 183.6491699876038 
23.419570090792845 186.47776067057902 30.902823043098138 190.3670728596699 
     41.19229585251793 L 194.25638504876076 51.48176866193772" ; 
  var c = x.indexOf('C') ; 
  var L = x.indexOf('L') ;
  var final = x.slice (c,L) ;
  console.log(final) ;

此代码将导致返回字符串的已删除部分

问题C删除和之间的部分后如何返回原始字符串L

​</p>

4

5 回答 5

9
var c = x.indexOf('C') ; 
var L = x.indexOf('L') ;

var remaining = x.slice(0, c) + x.slice(L);

小提琴:

http://jsfiddle.net/ePbCP/

于 2012-07-19T17:52:44.603 回答
3

只需将原始字符串的那部分替换为 nothing :

var x = "M 178.6491699876038 23.419570090792845 C 183.6491699876038 23.419570090792845 186.47776067057902 30.902823043098138 190.3670728596699 41.19229585251793 L 194.25638504876076 51.48176866193772" ; 
var c = x.indexOf('C') ; 
var L = x.indexOf('L') ;

var final = x.slice (c,L) ;
console.log(x.replace(final, ''));

小提琴

于 2012-07-19T17:52:51.993 回答
2

您可以为此使用 2substring秒。

var c = x.indexOf('C') ; 
var L = x.indexOf('L') ;

var y = x.substring(0, c) + x.substring(L);
于 2012-07-19T17:54:12.330 回答
1

尝试:

var x = "M 178.6491699876038 23.419570090792845 C 183.6491699876038 23.419570090792845 186.47776067057902 30.902823043098138 190.3670728596699 41.19229585251793 L 194.25638504876076 51.48176866193772";
var c = x.indexOf('C');
var L = x.indexOf('L');
var final = x.substring(0, c) + x.substring(L, x.length);
console.log(final);
于 2012-07-19T17:52:44.403 回答
1

您可以将最终字符串替换为空字符串以获取剩余部分。

var remaining = x.replace(final,'');

现场演示

于 2012-07-19T17:55:13.817 回答