js字符串操作大全
2019-03-09 本文已影响0人
简默丶XS
需要注意的一些:
- charAt 接受字符串或者number类型数字
- match 匹配正确返回是数组,数组第一个元素是符合正则的字符串 字符串全部匹配判断:a5.match(正则表达式)[0]===a5
- substr(x,y) 从x位置截取y个字符,不影响原字符串
- substring(x,y)从x位置截取到y位置,不影响原字符串
- slice(x,y) 从x位置截取到y位置,不影响原字符串(substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0)和substring只有负数的区别
- replace(a,b) 将字符串中的a替换成b,只会替换开头的一个,不影响原字符串
- replace(/需要替换部分/g,b) 替换所有出现的字符
- split(' ') 以空格为间隙将字符串转换为数组,不影响原字符串 (ps:数组转为字符串用tostring(),灵活的话join)
demo:
// 1.concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。
console.log('---------------------1--------------------')
const a1 = '123'
const b1 = 'abc'
const c1 = a1.concat(b1)
console.log(c1)
// 2.indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。
console.log('---------------------2--------------------')
const a2 = 'i love you'
const c2 = a2.indexOf('o')
console.log(c2)
// 3.charAt() – 返回指定位置的字符。
console.log('---------------------3--------------------')
const a3 = 'hello boy'
const b3 = a3.charAt(2)
const c3 = a3.charAt('2')
console.log(b3)
console.log(c3)
// 4.lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。
console.log('---------------------4--------------------')
const a4 = 'hello boy'
const b4 = a4.lastIndexOf('o')
console.log(b4)
// 5.match() – 检查一个字符串是否匹配一个正则表达式。它返回指定的值,而不是字符串的位置
console.log('---------------------5--------------------')
const a5 = '13776555623'
const b5 ='ee23123'
console.log(a5.match(/^1[34578]\d{9}$/)[0]===a5)
console.log(b5.match(/^1[34578]\d{9}$/)===b5)
// 6.substr() 函数 -- 返回从string的startPos位置,长度为length的字符串
console.log('---------------------6--------------------')
const a6 = 'hello world'
console.log(a6.substr(2,5))
console.log(a6.substr(1))
console.log(a6)
// 7.substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。
console.log('---------------------7--------------------')
const a7 = 'hello world'
console.log(a7.substring(2,5))
console.log(a7.substring(5,2))//一样效果,不建议这样写
console.log(a7.substring(-2,-5))//都转换成0
console.log(a7.substring(1))
console.log(a7)
// 8.slice() – 提取字符串的一部分,并返回一个新字符串。
console.log('---------------------8--------------------')
const a8 = 'hello world'
console.log(a8.slice(2,5))
console.log(a7.slice(5,2))
console.log(a7.slice(-2,-5))//和字符串长度相加
console.log(a8.slice(1))
console.log(a8)
// 9.replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
console.log('---------------------9--------------------')
const a9 = 'hello world hello'
console.log(a9.replace('hello','xxxxx'))
console.log(a9.replace(/hello/g,'xxxxx'))
console.log(a9)
// 10.search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
console.log('---------------------10--------------------')
const a10 = '13776555623'
const b10 ='ee23123'
console.log(a10.search(/^1[34578]\d{9}$/))
console.log(b10.search(/^1[34578]\d{9}$/))
// 11.split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。
console.log('---------------------11--------------------')
const a11='aaa bbb ccc AAA bbb CCC'
const b12 = a11.split(' ')
console.log(b12)
console.log(a11)
console.log(b12.join(''))
// 12.length – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。
console.log('---------------------12--------------------')
console.log('aaa'.length)
// 13.toLowerCase() – 将整个字符串转成小写字母。
console.log('---------------------13--------------------')
const a13='aaabbbcccAAAbbbCCC'
console.log(a13.toLowerCase())
console.log(a13)
// 14.toUpperCase() – 将整个字符串转成大写字母
console.log('---------------------14--------------------')
const a14='aaabbbcccAAAbbbCCC'
console.log(a14.toUpperCase())
console.log(a14)