javascript字符串的方法总结
一种总结了
22种
字符串方法截取方法
,转数组
方法,正则匹配
方法…
按重要程度一次列出
开始喽!
let str = '我见众人皆草木,唯有见你是青山'
截取类(3)
slice(start, end)
提取字符串的片断,并在新的字符串中返回被提取的部分
let sli = str.slice(2)
let sli2 = str.slice(2, -4)
let sli3 = str.slice(-5, -1)
console.log(sli, '---', sli2, '---', sli3);
// 众人皆草木,唯有见你是青山 --- 众人皆草木,唯有见 --- 见你是青
substr(start,length)
从起始索引号提取字符串中指定数目的字符。
let subS = str.substr(8, 2)
let subS2 = str.substr(4)
console.log(subS, subS2); // 唯有 ---- 皆草木,唯有见你是青山
substring(from, to)
提取字符串中两个指定的索引号之间的字符。
let subSing = str.substring(6)
let subSing2 = str.substring(6, 10)
let subSing3 = str.substring(9, -1)
console.log(subSing, subSing2, subSing3); // 木,唯有见你是青山 木,唯有 我见众人皆草木,唯
转数组(1)
split(" ")
把字符串分割为字符串数组。
let spli = str.split(',')
let spli2 = str.split('')
console.log(spli, spli.length); // ["我见众人皆草木", "唯有见你是青山"] 2
console.log(spli2, spli2.length);
// ["我", "见", "众", "人", "皆", "草", "木", ",", "唯", "有", "见", "你", "是", "青", "山"] 15
查找类(7)
includes() –ES6
返回布尔值,表示是否找到了参数字符串
第二个参数,表示开始搜索的位置。
let inc = str.includes('见')
let inc2 = str.includes('我', 4 )
console.log(inc); // true
console.log(inc2); // false
startsWith() –ES6
返回布尔值,表示参数字符串是否在原字符串的头部
第二个参数,表示开始搜索的位置。
let stW = str.startsWith('我')
console.log(stW); // true
endsWith() –ES6
返回布尔值,表示参数字符串是否在原字符串的尾部
第二个参数,表示开始搜索的位置。
let endW = str.endsWith('山')
console.log(endW); // true
indexOf()
返回字符串中 检索 指定 字符
第一次出现 的位置
, 没有找到 返回-1
let inOf = str.indexOf('见')
console.log(inOf); // 1
lastIndexOf()
返回字符串中 检索 指定 字符
最后一次出现 的位置
, 没有找到 返回-1
let lastInOf = str.lastIndexOf('见')
console.log(lastInOf); // 10
charAt()
返回指定索引位置的字符
let char = str.charAt(4)
console.log(char); //皆
charCodeAt()
返回指定索引位置字符的 Unicode 值
let charCode = str.charCodeAt(4)
console.log(charCode); //30342
合并重复类(2)
concat()
连接两个或多个字符串,返回连接后的字符串
let [a, b, c] = ['aaaa', 'bbbb', 'cccc']
let concats = a.concat(b, c)
console.log(concats, '0-0', a); // aaaabbbbcccc 0-0 aaaa
repeat()
复制字符串指定次数,并将它们连接在一起返回。
let rep = str.repeat(2)
console.log(rep); // 我见众人皆草木,唯有见你是青山 我见众人皆草木,唯有见你是青山
正则匹配(3)
match()
查找找到一个或多个正则表达式的匹配。
返回数组
。
如果没有找到任何匹配的文本, match() 将返回null
。
let mat = str.match(/见/g)
console.log(mat, typeof mat); // ["见", "见"] "object"
replace()
在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。
let repl = str.replace('见', '啦')
let repl2 = str.replace(/见/g, '啦')
console.log(repl); // 我啦众人皆草木,唯有见你是青山
console.log(repl2); // 我啦众人皆草木,唯有啦你是青山
search()
查找与正则表达式相匹配的值。 如果没有找到任何匹配的子串,则返回 -1。
let sea = str.search('见')
let sea2 = str.search('啦')
console.log(sea); // 1
console.log(sea2); // -1
大小写类(2)
toLowerCase()
把字符串转换为小写。
let lower = 'ASDQWER'
let toL = lower.toLowerCase()
console.log(toL); // ASDQWER ---- > asdqwer
toUpperCase()
把字符串转换为大写
let upper = 'qwerasd'
let toU = upper.toUpperCase()
console.log(toU); // qwerasd ---- > QWERASD
其他类(4)
trim()
去除字符串两边的空白 ,字符中间的空格不能去掉
let qwr = ' q w e r '
let tri = qwr.trim()
console.log(tri); // q w e r
trimStart(),trimEnd() – ES6
trimStart()
消除字符串头部的空格,
trimEnd()
消除尾部的空格。
const s = ' abc ';
s.trim() // "abc"
s.trimStart() // "abc "
s.trimEnd() // " abc"
toString()
返回一个字符串。 可用于类型转换
设置进制
let num = 1235.00889
let toS = num.toString()
console.log(toS, typeof toS); // 1235.00889 string
toString()方法可以根据所传递的参数把数值转换为对应进制的数字字符串。参数范围为 2~36 之间的任意整数。
let toStr = 32
console.log(toStr.toString(2)); //返回字符串100000
console.log(toStr.toString(4)); //返回字符串200
console.log(toStr.toString(16)); //返回字符串20
console.log(toStr.toString(30)); //返回字符串12
console.log(toStr.toString(32)); //返回字符串10
注意
undefined
和null
没有toString()方法布尔型数据
true和false返回对应的’true’
和’false’
- 字符串类型原值返回
- 数值类型的情况较复杂
正浮点数
及NaN
、Infinity
加引号返回
很多事情不能自己掌控,即使再孤单再寂寞,仍要继续走下去,不许停、也不能回头。
——《千与千寻》