【问题标题】:Remove part of string between two indexOf in javascript在javascript中删除两个indexOf之间的部分字符串
【发布时间】:2013-12-05 01:03:23
【问题描述】:

如何从两个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) ;

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

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

【问题讨论】:

  • 只使用 X 有什么问题?
  • 你用x是什么意思??????????????????????????????
  • 没关系,从你的措辞来看,我以为你只是想要你的原始字符串,它应该在 X 中,而不是你的原始字符串减去中间。

标签: javascript jquery


【解决方案1】:
var c = x.indexOf('C') ; 
var L = x.indexOf('L') ;

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

小提琴:

http://jsfiddle.net/ePbCP/

【讨论】:

  • var 剩余 = x.slice(0, c-1) + x.slice(L-1, x.length);结果:M 178.6491699876038 23.419570090792845 L 194.25638504876076 51.4817686619377
  • @Jan-StefanJanetzky:删除了'L'。我认为这不是我们想要的结果。
  • @Jan-StefanJanetzky:为什么这比答案中发布的要好?
【解决方案2】:

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

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, ''));

FIDDLE

【讨论】:

    【解决方案3】:

    您可以为此使用 2 个substrings。

    var c = x.indexOf('C') ; 
    var L = x.indexOf('L') ;
    
    var y = x.substring(0, c) + x.substring(L);
    

    【讨论】:

      【解决方案4】:

      试试:

      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);
      

      【讨论】:

        【解决方案5】:

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

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

        Live Demo

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-09-20
          • 1970-01-01
          • 2018-11-25
          • 1970-01-01
          • 2016-07-01
          • 2012-01-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多