JS字符串操作之增删改查
之前写过一篇文章叫JS数组操作之增删改查,今天我就用同样的方式简单介绍一下JS字符串操作中常用函数的用法。
一、增
1. concat()
可以传任何个数的参数,用于字符串的拼接,返回连接后的字符串,而原字符串不受影响。例如:
var str1 = 'Hello', str2 = ' World', str3 = '!';
console.log(str1.concat(str2)); // "Hello World"
console.log(str1.concat(str2,str3)); // "Hello World!"
console.log(str1); // "Hello"
2. "+"号
与concat()功能相同,同样是用于字符串的拼接,例如上面例子可以改成:
var str1 = 'Hello', str2 = ' World', str3 = '!';
console.log(str1+str2); // "Hello World"
console.log(str1+str2+str3); // "Hello World!"
console.log(str1); // "Hello"
可以看出,使用“+”号拼接字符串既方便又直观,所以也是最常用的一种方式。
二、删
1. 裁剪“三剑客”
① substr()第二个参数是裁剪长度,只要为负,裁剪结果必定是空字符串
② 不管如何裁剪,均不影响原字符串
③ 当参数为负,slice加总长,substring则归零,substr一加总长一归零。
详情请戳→JavaScript字符串“三剑客”
2. 删空格
① trim()
与jQuery中的$.trim()
方法功能是一样的,用于删除字符串前后所有空格,然后返回结果,而原字符串保持不变。例如:
var str = ' Hello World ';
console.log(str.trim()); // "Hello World"
console.log(str); // " Hello World "
② trimLeft()和trimRight()
这两个方法分别用于删除字符串的左空格和右空格,用法与trim()
是一样的,例如:
var str = ' Hello World ';
console.log(str.trimLeft()); // "Hello World "
console.log(str.trimRight()); // " Hello World"
三、改
1. 大小写转换
① toLowerCase()和toLocaleLowerCase()
这两个方法都可以将字符串中的大写字母全部转换为小写字母,只不过与 toLowerCase()
不同的是,toLocaleLowerCase()
方法会按照本地方式把字符串转换为大写。只有几种语言(如土耳其语)具有地方特有的大小写映射,其他大多情况该方法的返回值与 toLowerCase()
是一样的。例如:
var str = 'Hello World';
console.log(str.toLowerCase()); // "hello world"
console.log(str.toLocaleLowerCase()); // "hello world"
② toUpperCase()和toLocaleUpperCase()
这两个方法都可以将字符串中的小写字母全部转换为大写字母,用法与toLowerCase()
和toLocaleLowerCase()
相同,例如:
var str = 'Hello World';
console.log(str.toUpperCase()); // "HELLO WORLD"
console.log(str.toLocaleUpperCase()); // "HELLO WORLD"
2. 模式匹配
① replace()
stringObject.replace(regexp/substr,replacement)
详情请戳→简述test()、match()、replace()和search()的用法
② split()
① split() 可以传字符串或正则,也能传第二参数
② split() 的逆操作是 join()
③ 字符串和数组可以自由转换,所以相当于它们所具备的很多方法是可以通用的
详情请戳→JavaScript字符串的分割
四、查
1. 字符方法
主要有两个: charAt()
和charCodeAt()
,charAt()
是通过索引查找字符串中的某个字符,而charCodeAt()
其实就相当于在charAt()
查找到字符之后再将其转换为相应的字符编码。例如:
console.log(str.charAt(2)); // "l"
console.log(str.charCodeAt(2)); // 108
其实查找字符还有一种更加简单直接的方法,就是与数组类似的方括号表示法,例如:
console.log(str[2]); // "l"
2. 位置方法
与charAt()
正好相反,位置方法是通过某个字符串来查找相应的位置索引,主要有两个: indexOf()
和lastIndexOf()
,分别为正向查找和反向查找,例如:
var str = 'Hello World';
console.log(str.indexOf('l')); // 2
console.log(str.lastIndexOf('l')); // 9
除此之外,这两个方法还能传入第二个参数,表示从字符串中的哪个位置开始查找,例如:
var str = 'Hello World';
console.log(str.indexOf('l',3)); // 3
console.log(str.lastIndexOf('l',8)); // 3
可以看出,这两个方法的用法与数组操作中同名的两个方法的用法是一样的。
3. 模式匹配
① match()
stringObject.match(searchvalue)
stringObject.match(regexp)
② search()
stringObject.search(searchvalue)
stringObject.search(regexp)