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