1.length属性
每个String对象都有一个length属性,表示字符串中字符的数量
let StringValue = 'hello world'
console.log(StringValue.length) //11
2.与字符串中元素位置相关的函数
- charAt() 返回给定索引位置的字符,由传给方法的整数参数指定。
let message = 'abcde'
console.log(message.charAt(2)) //'c'
- indexOf()与lastIndexOf() 从字符串中搜索传入的字符串,返回子字符串在字符串中的下标位置(如果没找到则返回-1)。两者的区别在于indexOf()方法从字符串开头开始查找,而lastIndexOf()方法从字符串末尾开始查找。
let message = 'hello world'
console.log(message.indexOf('e')); //1
console.log(message.indexOf('l')) //2 多次出现只返回第一次出现的位置
console.log(message.lastIndexOf('l')) //9
以上这两种方法都可以接受可选的第二个参数,表示开始搜索的位置
console.log(message.indexOf('o', 6)); //7
console.log(message.indexOf('o', 7)) //7 包括开始位置的元素
3.字符串包含方法
includes()方法用于判断字符串中是否包含另一个字符串的方法,并返回一个是否包含的布尔值。
let message = 'hello world'
console.log(message.includes('llo')); //true
console.log(message.includes('abc')); //false
4.字符串大小写转换
toLowerCase()方法与toUpperCase()方法
let message = 'Hello World'
console.log(message.toLowerCase()); //hello world
console.log(message.toUpperCase()); //HELLO WORLD
涉及大小写转换的还有toLocaleLowerCase()方法,toLocaleUpperCase()方法,作用与toLowerCase()方法和toUpperCase()方法相同,但toLocaleLowerCase()方法,toLocaleUpperCase()方法旨在特定地区实现,在少数语言中(如土耳其语),Unicode大小写转换需应用特殊规则,要使用地区特定的方法才能实现正确转换。
5.字符串操作方法
- concat()方法用于将一个字符串或多个字符串拼接成一个新字符串
let stringValue = 'hello '
let result = stringValue.concat('world')
let result2 = stringValue.concat('world', '!')
console.log(result); //hello world
console.log(stringValue); //hello
console.log(result2); //hello world!
2.slice()方法与substring()方法,返回从字符串中提取出的子字符串,都接收一到两个参数,第一个参数为提取开始的下标位置,第二个参数为提取结束的下表位置。(提取区间为左闭右开)
let message = 'Hello World'
console.log(message.slice(3)); //lo World
console.log(message.slice(3, 7)); //lo W
console.log(message.substring(3)); //lo World
console.log(message.substring(3, 7)); //lo W
6.字符串替换操作
replace()方法这个方法有两个参数,第一参数可以是RegExp对象或一个字符串,第二个参数可以是一个字符串或是一个函数。如果第一个参数为一个字符串,那么只会替换第一个字符串。(可用来删除字符串中的特定元素,将第二个字符串参数设置为空字符串。)
let text = 'cat,bat,sat'
let result = text.replace('at', 'ond')
console.log(result); //cond,bat,sat
注意事项
ESMAScript中的字符串是不可变的,意思是一旦创建,它们的值就不能变了。要修改某个变量中的字符串值,必须先销毁原始的字符串,然后将包含新值的另一个字符串保存到该变量
let language = 'Java'
language = 'Java' + 'Script'
变量一开始包含字符串’Java’。之后,language被重新定义为’Java’ + ‘Script’,也就是’JavaScript’。整个过程首先会分配足够容纳10个字符的空间,然后填充上’JavaScript’,最后销毁原始的字符串’Java’ 和’Script’,因为这两个字符串都没有用了。