字符串常用操作

时间:2023-01-04 00:13:31

1.字符串长度(.length)

var a = 'what';  //  4

var b = 'what is it' //  10

var c = '什么' //  2


2.获取指定位置的字符串    charAt(index),index超出 0~str.length 返回空字符串

a.chatAt(0);  //w

a.chatAt(4); //""


3.获取指定位置的字符的Unicode编码,  charCodeAt(index),index超出 0~str.length 返回空字符串

4.查找指定的字符串在该字符串中首次出现的位置  indexOf(要查找的子字符串,查找的开始位置)

str = 'abcdeabcde'

str.indexOf('a')  //  0

str.indexOf('a',3)  //  5

str.indexOf('bc')  //  1


5.查找指定的字符串在该字符串最后出现的位置   lastIndexOf(要查找的子字符串,查找索引之前的字符串的值)

str.laseIndexOf('a')  //  5

str.laseIndexOf('a',3)  //  0

str.laseIndexOf('bc')  //  6


6.查找字符串中指定的子字符串 || 查找与正则表达式想匹配的子字符串,返回第一个匹配的子字符串的起始位置,如果没有匹配,返回-1    search()

 str = 'abcDEF'

 str.search('c')   //  2

 str.search('d')   //  -1

str.search(/d/i)   //  3


6.在字符串内搜索指定的值 || 找到一个或者多个正则的匹配  match()

(1)参数: 子字符串  或者  没有全局匹配的正则   

从开始位置执行匹配,没有匹配的结果,返回null  

否则返回数组  [ "匹配的文本",index:匹配文本的起始字符索引,input:原字符串]

var str = '1a2b3c4d5e';

str.match('h')  // null

str.match('b')  //   ['b', index:3, input:'1a2b3c4d5e']

str.match(/b/)   //   ['b', index:3, input:'1a2b3c4d5e']

(2)参数:全局匹配的正则  

从开始位置执行匹配,没有匹配的结果,返回null  

否则返回数组  [ "匹配的文本"]

str.match(/h/g)  //  null

str.match(/\d/g)  //   ['1', '2', '3', '4', '5']


7.截取

(1)substring(开始位置,结束位置) 参数不能为负值,内容是从strart到end-1的所有字符

var str = "abcdefg"

str.substring(1,4)  // bcd

str.substring(1)  //bcdefg

str.substring(-1)  //abcdefg  传入负值会视为0

(2)slice(开始位置,结束位置) 参数可以为负值   -1:字符串的最后一个字符

var str = "abcdefg"

str.slice(1,4)  //bcd 

str.slice(-3,-1)  //ef

str.slice(1-1)  //bcdef

str.slice(-1,-3)    // 传入参数错误,返回空字符串

(3)substr(开始位置,长度)

var str = "abcdefg"

str.substr(1,3)  //bcd

str.substr(2)   //cdefg

str.substr(-2,4)   // fg  目标长度过大时,以实际截取长度为准

7.字符串替换

(1)replace(被替换的子字符串/正则(没有全局匹配),用来替换的文本)

只进行一次替换(替换最前面的),返回经过一次替换后的结果字符串

var str = "abcdeabcde"

str.replace('a','A')     //  Abcdeabcde

str.replace(/a/,'A')     //  Abcdeabcde

(2)replace(被替换的子字符串/正则(全局匹配),用来替换的文本)

进行多次替换,返回多次替换后的结果字符串

var str = "abcdeabcdeABCDE"

str.replace(/a/g,'A')  //AbcdeAbcdeABCDE

str.replace(/a/gi,'$')  //$bcde$bcde$BCDE


8.字符串分割  .split(分割位置/参考符,返回的数组允许的最大长度)

var str = "a|b|c|d|e"

str.split('|')    //["a","b","c","d","e"]

str.split('|',3)   //["a","b","c"]

str.split('')    //["a","|","b","|","c","|","d","|","e"]

str.split(/\d/)  //正则   ["a","b","c","d","e"]["a","b","c","d","e"]


9.去除字符串前后两端的空格,但不能去掉字符串内部的空格  .trim()

var str = "   a  b   "

str.trim()  // "a  b"