【问题标题】:How to cut a string in this case in JavaScript?在这种情况下如何在 JavaScript 中剪切字符串?
【发布时间】:2018-06-12 07:31:49
【问题描述】:

例子:

let somestr = '11>22>33>44';
let someSpecificWord = '22';

我想得到这样的结果

'11>22'

这个要怎么切割或者使用方法?

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 我试过 subString 和 indexOf.. 和 slice
  • 所以显示代码并告诉我们它出了什么问题
  • 似乎有人在下面解决了我的问题.. 感谢您的关注
  • @jeheechoi 感觉你没怎么努力……

标签: javascript react-native


【解决方案1】:

您可以将String#substringString#lastIndexOf 一起使用:

let somestr = '11>22>33>44';
let someSpecificWord = '22';

console.log(somestr.substring(0, somestr.lastIndexOf(someSpecificWord) + someSpecificWord.length));

【讨论】:

  • 哦,非常感谢你,我挣扎了几个小时!
【解决方案2】:

如果您希望结果中包含所有数字。

var str = '11>22>33>44';

var splitstr = str.split('>');
var strarray =[];
for(var i=0; i<splitstr.length-1;i++){
    strarray[i] = splitstr[i]+'>'+splitstr[i+1];
    $("span").append(strarray[i]+"<br />");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="span"></span>

【讨论】:

    【解决方案3】:

    您也可以将split()字符串转为数组,然后找到indexOf()的工作,然后join()使用&gt;得到最终结果。为了更好地管理代码,请创建一个可重用的函数。

    function cutWord(str, word){
      var splitStr = str.split('>');
      return splitStr.slice(0,splitStr.lastIndexOf(someSpecificWord)+1).join('>');
    }
    
    var somestr = '11>22>33>44';
    var someSpecificWord = '22';
    console.log(cutWord(somestr, someSpecificWord));
    
    someSpecificWord = '33';
    console.log(cutWord(somestr, someSpecificWord));
    
    someSpecificWord = '11';
    console.log(cutWord(somestr, someSpecificWord));

    【讨论】:

      猜你喜欢
      • 2018-12-26
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      相关资源
      最近更新 更多