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

例如:

//提供的字符串
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】。
先这样吧,如果还有好的办法,会继续更新过来的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容