截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符。下面将介绍几个常用的截取字符串的方法。
一、正则匹配
例子:
let str = 'ycc?name=cc&sex=woman'
截取字符串 name=cc
let newStr = str.match(/\?(\S*)&/)[1]
截取字符串 ycc
let newStr = str.match(/(\S*)\?/)[1]
截取字符串 name=cc&sex=woman
let newStr = str.match(/\?(\S*)/)[1]
二、substr()方法
包含两个参数:第一个参数是起始下标;第二个参数是截取的长度
三、slice()、substring()方法
两者都包含两个参数:第一个参数表示起始下标,第二个参数表示结束下标
截取的字符串包含第一个参数所指定的字符,不包含结束点字符
如果不指定第二个参数,则截取到字符串结束
如果第一个参数大于第二个参数,slice()返回空;而substring()则会自动调换参数位置再截取;
说到这里下面再说一下字符串的一些常用的操作方法:
1、字符串长度 length();
2、indexOf() 返回字符串中指定文本首次出现的位置,如未找到则返回 -1
3、lastIndexOf() 返回字符串中指定文本最后出现的位置,如未找到则返回 -1
indexOf() 与 lastIndexOf() 均可以有第二个参数,表示检索的起始位置;注意lastIndexOf是从后向前检索,所以假设第二个参数为9,则从位置9开始检索直到字符串的起点。
4、search() 搜索特定值的字符串 ,返回匹配的位置。未匹配到则返回-1
search() 与 indexOf 有些相似,但是search无法设置第二个参数;indexOf无法设置正则表达式形式的搜索值
5、replace() 用一个值替换在字符串中指定的值,对大小写敏感
若需要执行对大小写不敏感的替换,使用正则表达式 /i (大小写不敏感)
let str = ‘ycc?name=cc&sex=women’
let my = str.replace(‘YC’,’BB’)
console.log(my)
VM271:3 ycc?name=cc&sex=women
let str = ‘ycc?name=cc&sex=women’
let my = str.replace(/YC/i,’BB’)
console.log(my)
VM286:3 BBc?name=cc&sex=women
注意正则表达式不带引号;
replace默认只替换首个匹配;如需替换所有匹配,使用/g (全局搜索)
6、toUpperCase() 把字符串转为大写
7、toLowerCase() 把字符串转为小写
8、concat() 连接2个或多个字符串
9、trim() 删除字符串两端的空格
10、charAt() 返回字符串中指定位置的字符串
11、charCodeAt() 返回字符串中指定位置的字符unicode编码
12、split() 将字符串转为数组
13、join() 将数组转为字符串