-
查询方法
str.indexOf(value,begin)和str.lastIndexOf(value,begin)。
有返回值,返回值为子串的第一次出现位置。indexof()是从头找,lastIndexOf()是从后找。要注意只返回第一次出现子串的位置。
value是要查询的值(字符或字符串),begin是开始的位置(非必须,从0~length-1)。str.charAt(index)和str.charCodeAt(index)
有返回值,charAt返回该位置的字符,charCodeAt返回该位置的Unicode 编码。
index是要查询的位置(从0~length-1)。
let str="abc12345"
console.log(str.charAt(2),str.charCodeAt(2));
//c 99
- 字符串截取方法
str.slice(begin,end)和str.substring(begin,end)
有返回值,返回值为截取的字符串。
begin是开始的位置(一般从0~length-1),end是结束的位置(非必须,一般从begin ~length),从取值可以看出返回值会返回begin位置字符而不会返回end位置字符。
若end值比begin小但不为负数,返回值为empty string。
注意两方法唯一区别就在于传入负数的情况。当参数为负数时:
1.slice()会自动将参数和length相加,从得到的新值开始截取。
2.substring()会自动将参数转为0,若参数全为0,则返回empty string;参数不全为零,会将较小数作为开始位置,较大数作为结束位置。
let str="abc12345"
console.log(str.slice(0,3));
//abc
console.log(str.slice(-5,5));
//12 -5+length=3,即str.slice(3,5)
console.log(str.substring(-5,5));
//abc12 ,-5=>5,即str.substring(0,5)
console.log(str.slice(-6,-1));
//c1234 -6+length=2,-1+length=7
console.log(str.substring(-6,-1));
//<empty string>
str.substr(begin,length)
有返回值,返回值为截取的字符串。
begin是开始的位置(一般从0~length-1),length是截取的长度(可选,一般大于0)。
start为负数时,会将传入的负值与字符串的长度相加(和slice的规则一致);len为负值时,会返回空字符串。
let str="abc12345"
console.log(str.substr(0,5));
//abc12
str.split(subStr)
有返回值,返回值为根据subStr进行分割之后的字符串数组。
subStr为空时,即分割字符串的各个字符,返回单个字符组成的数组,是很常用的功能。
let str="abc12345"
console.log(str.split(""));
//Array(8) [ "a", "b", "c", "1", "2", "3", "4", "5" ]
let str2="a6b6c6162636465"
console.log(str2.split("6"));
//Array(8) [ "a", "b", "c", "1", "2", "3", "4", "5" ]
str.replace(subStr,replacement)
有返回值,返回值为替换了str中subStr为replacement的新字符串。
subStr为原字符串的某部分子串,replacement为替换后的内容。
let str="abc12345"
console.log(str.replace("12345","defg"));
//abcdefg
- 转换大小写方法
str.toUpperCase()和str.toLowerCase()
有返回值,返回值为转换大小写后的字符串。
let str="abc12345"
console.log(str.toUpperCase());
//ABC12345