前端开发让前端飞程序员

JS字符串操作之增删改查

2018-03-07  本文已影响130人  前端王睿

之前写过一篇文章叫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)

详情请戳→简述test()、match()、replace()和search()的用法

上一篇下一篇

猜你喜欢

热点阅读