js操作方法都不会改变原字符串,字符串第一位索引是0,最后一位索引是-1
1.split(separator, howmany) 用于把一个字符串分割成数组。
let str2 = "23:34:56:78";
let arrS1 = str2.split(":", 3) // ["23", "34", "56"]
let str3 = "How are you"
let arrS2 = str3.split(" ") // ["How", "are", "you"]
2.trim(), trimStart(), trimEnd()
trim() 会从一个字符串的两端删除空白字符 trimStart() 消除字符串头部的空格 (es6新增) trimEnd() 消除尾部的空格 (es6新增)
let str = " Hello Edureka! ";
str.trim() // "Hello Edureka!"
str.trimStart() // "Hello Edureka! "
str.trimEnd() // " Hello Edureka!"
3.slice(start, [end]) 可提取字符串的某个部分,返回一个新的字符串。若end为负数,负数表示从该字符串后面开始数(最后一位是 -1);若end没有提供,表示截取到最后一位(包括最后一位)
let str = "0123456789";
str.slice(3) // "3456789"
str.slice(-3) // "789"
str.slice(3, 5) // "34"
str.slice(3, -3) // "3456"
4.substring(from, [to]) 用法效果跟slice差不多,但是to若是负数,会有预料之外的结果。建议优先使用slice方法。
let str = "0123456789";
str.substring(3) // "3456789"
str.substring(-3) // "0123456789"
str.substring(3, 5) // "34"
str.substring(3, -3) // "012"
5.substr(start, [length]) 截取字符串,第二个参数为截取的长度,若不提供表示截取到原字符串的末尾(包含末尾)
let str = "0123456789";
str.substr(2) // "23456789"
str.substr(2,3) // "234"
6.replace(regexp/substr, target), replaceAll()(es6新增)
replace() 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。匹配上则替换,否则就不替换。注意原字符串不会改变。 replaceAll(searchValue, replacement) searchValue是搜索模式,可以是一个字符串,也可以是一个全局的正则表达式(带有g修饰符)
let myString = 'hellow';
let newStr = myString.replace('l', "w"); // "hewlow"
let newStr = myString.replaceAll('l', "w"); // "hewwow"
7.indexOf(substr, [start])搜索并(如果找到)返回字符串中搜索到的字符或子字符串的索引。如果没有找到,则返回-1,Start是一个可选参数,指定字符串中开始搜索的位置,默认值为0。
lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引
let myString = 'Hellowe';
myString.indexOf('e') //1
myString.lastIndexOf('e') //6
8.includes(), startsWith(), endsWith() (ES6 新增)
includes():返回布尔值,表示是否找到了参数字符串。 startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。 endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
let myString = 'Hellowe';
myString.includes('He') //true
myString.startsWith('Hell') //true
myString.endsWith('we') //true
9.concat(v1,v2..) 连接多个字符串,注意原字符串不会改变
let myString = 'Hellowe';
myString.concat('He',"123") //"HelloweHe123"