美文网首页
提供一个字符串,在字符串中查找出指定的子字符串

提供一个字符串,在字符串中查找出指定的子字符串

作者: mills_han | 来源:发表于2018-02-02 11:19 被阅读0次

例如:

//提供的字符串
var str = 'asd asdf ssdf Han hello,world';
//要求在字符串中查找出'Han'这个子串

先整理下思路。无非就是查找字符串起始位置,并提取出来

1. 查找方法

js的字符串查找方法,首先想到的是indexOf()提供查找并返回目标字符串索引,如果没有则返回-1,我们可以用来查找字符串索引位置。(es6中增加了一个includes()方法,但它返回的是true和false,这里并不适用)

2.提取字符串方法

两个原生字符串方法,substr()、substring()

var str = 'asd asdf ssdf Han hello,world';
var targetStr = 'Han';
var startIndex  = str.indexOf(targetStr);
var resultStr = str.substr(startIndex,targetStr.length);  //substr()
    resultStr  = str.substring(startIndex,startIndex+targetStr.length);   //substring()
console.log(resultStr);  //Han

总结两种方法的区别:

substr方法的参数是(起始位置索引,目标字符串的长度)返回从指定位置开始的指定字符数的字符串中的字符。
substring方法是(起始位置索引的index,结束位置索引的index)返回string一个索引与另一个索引之间的一个子集,或者通过字符串的结尾

除了这两个还有吗?当然!str.match()方法

var str = 'asd asdf ssdf Han hello,world';
var targetStr = 'Han';
var resultStr = str.match(targetStr)[0];
console.log(resultStr)  //Han

当然了,match方法不止这么点用途,后边还可以加上正则表达式来筛选字符串。但是只有一个参数时,它返回的是一个数组,所以这里取的【0】。
先这样吧,如果还有好的办法,会继续更新过来的

相关文章

网友评论

      本文标题:提供一个字符串,在字符串中查找出指定的子字符串

      本文链接:https://www.haomeiwen.com/subject/lapszxtx.html