个人主页:爱吃炫迈
系列专栏:数据结构与算法
座右铭:道阻且长,行则将至
trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。
let s = " hello wor d ";
let s1 = s.trim();
console.log(s);
console.log(s1);
trimStart()方法用于删除字符串开头的空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。
let s = " a bc ";
let s1 = s.trimStart();
console.log(s);
console.log(s1);
trimEnd()方法用于删除字符串结尾的空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。
let s = " a bc ";
let s1 = s.trimEnd();
console.log(s);
console.log(s1);
charAt() 方法获取到的是指定位置的字符;
语法
当index的取值不在str的长度范围内时,s[index]会返回undefined,而charAt(index)会返回空字符串;
案例
let s = "abc";
let s1 = s.charAt(1);
let s2 = s.charAt(4);
console.log(s[1]);
console.log(s1);
console.log(s[4]);
console.log(s2);
charCodeAt()方法获取的是指定位置字符的Unicode值
案例
let s = "abc";
let s1 = s.charCodeAt(1);
console.log(s[1]);
console.log(s1);
检索字符串是否包含特定序列
查找某个字符,有则返回第一次匹配到的位置,否则返回-1
语法
string.indexOf(searchvalue,fromindex)
案例
let s = "abcdefgabcdefg";
console.log(s.indexOf("a")); //输出0
console.log(s.indexOf("z")); //输出-1
console.log(s.indexOf("a", 1)); //输出7
console.log(s.indexOf("a", 20)); //输出-1
查找某个字符,有则返回最后一次匹配到的位置,否则返回-1
案例
let s = "abcdefgabcdefg";
console.log(s.lastIndexOf("a")); //输出7
console.log(s.lastIndexOf("z")); //输出-1
判断字符串是否包含指定的子字符串。如果包含子字符串则返回 true,否则返回 false。
语法
string.includes(searchvalue, start)
案例
let s = "abcdefgabcdefg";
console.log(s.includes("a")); // 输出结果:true
console.log(s.includes("a", 1)); // 输出结果:true
console.log(s.includes("z")); // 输出结果:false
console.log(s.includes("abc")); // 输出结果:true
console.log(s.includes("abc", 1)); // 输出结果:true
console.log(s.includes("abc", 8)); // 输出结果:false
判断当前字符串是否以指定的子字符串开始。如果是以指定的子字符串开头返回 true,否则 false。
语法
string.startsWith(searchvalue, start)
案例
let s = "abcdefgabcdefg";
console.log(s.startsWith("a")); // 输出结果:true
console.log(s.startsWith("a", 1)); // 输出结果:false
console.log(s.startsWith("b", 1)); // 输出结果:true
console.log(s.startsWith("abc")); // 输出结果:true
console.log(s.startsWith("abc", 1)); // 输出结果:false
console.log(s.startsWith("abc", 7)); // 输出结果:true
判断当前字符串是否是以指定的子字符串结尾。如果是以指定的子字符串结尾返回 true,否则 false。
语法
string.endsWith(searchvalue, length)
案例
let s = "abcdefgabcdefg";
console.log(s.endsWith("g")); // 输出结果:true
console.log(s.endsWith("g", 13)); // 输出结果:false
console.log(s.endsWith("f")); // 输出结果:false
console.log(s.endsWith("f", s.length - 1)); // 输出结果:true
console.log(s.endsWith("efg")); // 输出结果:true
console.log(s.endsWith("efg", 7)); // 输出结果:true
连接两个或多个字符串。该方法不会改变原有字符串,会返回连接两个或多个字符串的新字符串。
语法
string.concat(string1, string2, ..., stringn)
案例
let s = "abc";
console.log(s); // 输出结果:abc
console.log(s.concat("def")); // 输出结果:abcdef
console.log(s.concat("def", "ghi")); // 输出结果:abcdefghi
将一个字符串分割成字符串数组。该方法不会改变原始字符串。
语法
string.split(separator,limit)
案例
let s = "abc dd e";
console.log(s); // 输出结果:abc dd e
console.log(s.split("")); // 输出结果:['a', 'b', 'c',' ', 'd', 'd',' ', 'e']
console.log(s.split(" ")); // 输出结果:[ 'abc', 'dd', 'e' ]
console.log(s.split("a")); // 输出结果:[ '', 'bc dd e' ]
console.log(s.split("c")); // 输出结果:[ 'ab', ' dd e' ]
console.log(s.split("d")); // 输出结果:[ 'abc ', '', ' e' ]
console.log(s.split("e")); // 输出结果:[ 'abc dd ', '' ]
console.log(s.split("c", 1)); // 输出结果:[ 'ab' ]
console.log(s.split("c", 2)); // 输出结果:[ 'ab', ' dd e' ]
let s = "abc,dd;e";
console.log(s); // 输出结果:abc,dd;e
console.log(s.split(/[,;]/)); // 输出结果:[ 'abc', 'dd', 'e' ]
截取字符串的某个部分,并以新的字符串返回被截取的部分,即会改变原来的字符串。
语法
string.slice(start,end)
案例
let s = "abcdefg";
console.log(s.slice(0)); // 输出结果:abcdefg
console.log(s.slice(1)); // 输出结果:bcdefg
console.log(s.slice(6)); // 输出结果:g
console.log(s.slice(-2)); // 输出结果:fg
console.log(s.slice(1, 4)); // 输出结果:bcd
console.log(s.slice(-2, 6)); // 输出结果:f
console.log(s.slice(4, 1)); // 输出结果:""
console.log(s.slice(-2, -3)); // 输出结果:""
console.log(s.slice(5, -2)); // 输出结果:""
截取从指定下标开始的指定长度的字符串。
语法
string.substr(start,length)
案例
let s = "abcdefg";
console.log(s.substr()); // 输出结果:abcdefg
console.log(s.substr(0)); // 输出结果:abcdefg
console.log(s.substr(1)); // 输出结果:bcdefg
console.log(s.substr(-1)); // 输出结果:g
console.log(s.substr(-2)); // 输出结果:fg
console.log(s.substr(-2, -1)); // 输出结果:""
console.log(s.substr(0, 3)); // 输出结果:abc
截取字符串中介于两个指定下标之间的字符。
语法
string.substring(from, to)
案例
let s = "abcdefg";
console.log(s.substring(1)); // 输出结果:bcdefg
console.log(s.substring(1, 3)); // 输出结果:bc
console.log(s.substring(3, 1)); // 输出结果:bc
将字符串转换为小写,不改变原始字符串
let s = "AbCdefG";
console.log(s); // 输出结果:AbCdefG
console.log(s.toLowerCase()); // 输出结果:abcdefg
把字符串转换为大写,不改变原始字符串
let s = "AbCdefG";
console.log(s); // 输出结果:AbCdefG
console.log(s.toUpperCase()); // 输出结果:ABCDEFG
在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
语法
string.replace(searchvalue, newvalue)
searchvalue:必需。规定子字符串或要替换的模式的 RegExp 对象。如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。( RegExp 对象即正则表达式)
newvalue:必需。一个字符串值。规定了替换文本或生成替换文本的函数。
案例
let s = "abcdefg";
console.log(s); // 输出结果:abcdefg
console.log(s.replace("c", "z")); // 输出结果:abzdefg
在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
案例
let s = "abcdefg";
console.log(s); // 输出结果:abcdefg
console.log(s.match("c"));
// 输出结果:[ 'c', index: 2, input: 'abcdefg', groups: undefined ]
检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,返回第一个子字符串相匹配的起始位置。
语法
string.search(searchvalue)
案例
let s = "abcdefg";
console.log(s); // 输出结果:abcdefg
console.log(s.search("c")); // 输出结果:2
返回字符串对象的原始值
let s = ["abc", "efg"];
console.log(s.valueOf()); // 输出结果:[ 'abc', 'efg' ]
返回字符串对象本身,将其他类型数据转换成字符串
let s = ["abc", "efg"];
let s1 = "abc";
let s2 = "123";
console.log(s.toString()); // 输出结果:abc,efg
console.log(s1.toString()); // 输出结果:abc
console.log(typeof s2.toString()); // 输出结果:string
重复字符串
语法
string.repeat(count)
案例
let s = "a";
console.log(s.repeat(3)); // 输出结果:aaa
console.log(s.repeat(3)); // 输出结果:aaa
// console.log(s.repeat(-3)); // 输出结果:报错
console.log(s.repeat("A")); // 输出结果:""
如果某个字符串不够指定长度,padStart()
在头部补齐字符串,padEnd()
在尾部补齐字符串
语法
案例
console.log("a".padStart(3, "efg")); // 输出结果:efa
console.log("a".padStart(4, "efg")); // 输出结果:efga
console.log("a".padEnd(3, "efg")); // 输出结果:aef
console.log("a".padEnd(4, "efg")); // 输出结果:aefg
语法
parseInt(string, radix)
案例
parseInt("10"); // 输出结果:10
parseInt("17",8); // 输出结果:15 (8+7)
parseInt("010"); // 输出结果:10
parseInt("0x10") // 输出结果:16
parseInt("50", 1) // 输出结果:NaN
parseInt("50", 40) // 输出结果:NaN
parseInt("40 4years") // 输出结果:40
parseInt("new100") // 输出结果:NaN
parseInt(" 60 ") // 输出结果: 60
parseFloat("10.00") // 输出结果:10.00
parseFloat("10.01") // 输出结果:10.01
parseFloat("-10.01") // 输出结果:-10.01
parseFloat("40.5 years") // 输出结果:40.5
parseFloat("new40.5") // 输出结果:NaN
到第一个不是数字的字符为止
parseInt("40 4years") // 输出结果:40
parseInt("new100") // 输出结果:NaN
parseInt(" 60 ") // 输出结果: 60
parseFloat("10.00") // 输出结果:10.00
parseFloat("10.01") // 输出结果:10.01
parseFloat("-10.01") // 输出结果:-10.01
parseFloat("40.5 years") // 输出结果:40.5
parseFloat("new40.5") // 输出结果:NaN