1. 字符方法
1.1 charAt()和charCodeAt()
主要有两个: charAt()和charCodeAt(),charAt()是通过索引查找字符串中的某个字符,而charCodeAt()其实就相当于在charAt()查找到字符之后再将其转换为相应的字符编码。例如:
console.log(str.charAt(2)); // "l"console.log(str.charCodeAt(2)); // 108
其实查找字符还有一种更加简单直接的方法,就是与数组类似的方括号表示法,例如:
console.log(str[2]); // "l"
1.2 转换成数组然后查询
var arr = "hfuishafhdsha323hjdsk3326";// console.log(Number.isNaN(parseInt("a"))); //如过不是数字,返回trueconsole.log([...arr].filter( item => !Number.isNaN(parseInt(item))).join(""));
2. 位置方法
2.1 indexOf & lastIndexOf
与charAt()正好相反,位置方法是通过某个字符串来查找相应的位置索引,主要有两个: indexOf()和lastIndexOf(),分别为正向查找和反向查找,例如:
var str = 'Hello World';console.log(str.indexOf('l')); // 2console.log(str.lastIndexOf('l')); // 9
除此之外,这两个方法还能传入第二个参数,表示从字符串中的哪个位置开始查找,例如:
var str = 'Hello World';console.log(str.indexOf('l',3)); // 3console.log(str.lastIndexOf('l',8)); // 3
可以看出,这两个方法的用法与数组操作中同名的两个方法的用法是一样的。
3. 模式匹配
3.1 match()
返回数组,语法:
stringObject.match(searchvalue) stringObject.match(regexp)
<script>var str = "https://www.baidu.com/subject/12323e/dnf212";// 第一种var a = /\d+/g;console.log(str.match(a)); //return ["12323","212"]</script>
3.2 search()
返回下标,语法:
stringObject.search(searchvalue) stringObject.search(regexp)
<script>
var str = "https://www.baidu.com/subject/12323e/dnf212";
// 第一种
var a = /\d+/g;
console.log(str.match(a)); //return 30
</script>
