美文网首页前端开发让前端飞程序员
JS字符串操作之增删改查

JS字符串操作之增删改查

作者: 前端王睿 | 来源:发表于2018-03-07 12:27 被阅读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()的用法

    相关文章

      网友评论

        本文标题:JS字符串操作之增删改查

        本文链接:https://www.haomeiwen.com/subject/robotftx.html