1 substring(a,b)
a:代表截取的起始位置
b是结束为止但是不包含这个
let ahh = 'hello'
console.log(ahh.substring(1,3)) 输出的是:'el'
2 slice 和substring一样的原理
3 substr(a,b)
a:截取字符串的起始位置 b是截取的长度
let arrstring = 'hello world'
console.log(arrstring.substr(1,4) 输出是:ello
4 split(a,b)
a:字符串/正则 b:长度
`let digling = "012345678" console.log(digling.split('',5)) 输出的是[0,1,2,3,4] `
5 charAt(a)
返回指定位置的字符 如果a小于0或者大于字符串的length 返回一个空
`let hhh="hello" console.log(hhh.charAt(1)) 输出的是"e" `
6 concat
用于连接两个或者多个字符串。相较于数组Array.concat()。其实字符串到是用的不多,主要是之前使用加号(+)会更方便一些,新语法时一步优化字符串拼接的操作
console.log('C'.concat('a','t')) 输出的是 Cat
7 indexOf(searchString,position)
在string内查找另一个字符串searchString。如果它被找到,就返回第1个匹配字符的位置,否则返回-1。
需要记住一点是:可选参数position可设置从string的某个指定的位置开始查找。
let name = 'hello'
name.indexOf("h") =>0
name.index("l",3) =>3
8 lastindexOf(searchString,position)
这个和第7个一样 只不过顺序从后面开始排序
9 match
我们比较明确的是 这个方法跟其他语言是不同的 JavaScript的match()方法的返回值是数组或者是null 如果原字符串中匹配到了正则表达式指代的字符串 则返回一个数组 否则返回null 第一种情况 不使用全局匹配 ```` var str = 'Today is the 186th day of 2018,I must finish these 2 projects within 21 days.'; var results = str.match(/\d+/); //只能匹配字符串中出现的首个数字,未使用全局匹配符g console.log(results); ```` 输出的结果是
第0项:匹配到字符串
第1项:groups:undefined,这表示当前的正则表达式没使用分组
第2项:index表示首次匹配上的子串的起始下标。
第3项:input,表示源字符串
第4项:length,表示匹配到的结果个数,由于这里不使用全局匹配,只找到首次匹配项就结束了,所以匹配结果只有1个,length也就是1。
再次强调下,如果在正则表达式末尾不使用全局匹配符g,在本例中是无法匹配到所有的数字。反过来说就是,如果想匹配所有的符合条件的子串,就必须在正则的末尾添加全局匹配符
使用全局匹配
var str = 'Today is the 186th day of 2018,I must finish these 2 projects within 21 days.';
var results = str.match(/\d+/g); //匹配所有的数字,使用了全局匹配符g
console.log(results);
输出结果如下:
可以看到,这次的返回值仍然是个数组,只不过这个数组的内容跟上边不使用全局匹配时大不相同的。由于原字符串中出现了4个数字组成的子串的情况,所以该数组中出现了4个项。length属性同样为匹配到的结果个数,这里显然是4个。
仔细看会发现,此时返回的数组中,没有index,input这2项,不过这两项并不十分重要。
10 replace(searchValue,replaceValue)
作用:replace方法对string进行查找和替换操作,并返回一个新的字符串。
取值:而参数searchValue可以是一个字符串或者一个正则表达式对象。
第一种情况:如果searchValue是一个字符串,那么searchValue只会在第1次出现 的地方被替换
vue_in_element.replace('_',"-")
结果是 vue-in-element