JS字符串方法

目录

1、indexof()

2、charAt()

3、concat()

4、substring() 

5、substr()

6、slice() 

7、replace() 

8、replaceAll() 

9、split()

10、trim()

11、match()


1、indexof()

indexOf() 方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜
索。如果未找到该值,则返回 -1
语法如下: str . indexOf ( searchValue [, fromIndex ])
示例:
       var str1 = 'hello world';
        var p = str1.indexOf('l');
        console.log(p); //2
        p = str1.indexOf('l', 3);
        console.log(p); //3
        p = str1.indexOf('l', 4);
        console.log(p); //9
        p = str1.indexOf('llo');
        console.log(p); //2
        p = str1.indexOf('lloo');
        console.log(p); //-1

注意:在indexof()的参数中,可以是单个字符,找到就返回其第一个位置,找不到就返回-1。

2、charAt()

charAt() 方法从一个字符串中返回指定的字符。
语法如下: str . charAt ( index )
        var str = 'hello world';
        var c = str.charAt(7);
        console.log(c); //o
        c = str.charAt(-1);
        console.log(c); // 没有输出 不报错
        c = str.charAt(20);
        console.log(c); // 没有输出 不报错

注意:当指定的索引值没有在字符串的范围内时,不会出错,但也不会有输出。

3、concat()

concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。
语法如下: str . concat ( str2 , [, ... strN ])
示例:
        var str = 'hello';
        var s = str.concat(' world', '!');
        console.log(s); //hello world!

注意:

(1)使用concat() 来拼接字符串和使用加号来拼接字符串的效果是一样的,但是使用concat()更优雅一点。

(2)但是在开发中都要避免其使用,特别是用于循环中(内存占用)。

4、substring() 

substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集 , 或从开始索引直到字符
串的末尾的一个子集。
语法如下: str . substring ( indexStart [, indexEnd ])
示例:
        var str = 'charset';
        console.log(str);
        var s = str.substring(1); // harset 截取从下标为1的字符到字符串最后 
        console.log(s);
        s = str.substring(1, 5);
        console.log(s); //hars 左闭右开
        s = str.substring(1, 3);
        console.log(s); // ha
        s = str.substring(3, 1);
        console.log(s); // ha  等于s = str.substring(1, 3);
        s = str.substring(-1);
        console.log(s); //如果给的第一个参数是负数,那么它会把字符串复制后返回。

说明:

(1)如果只指定了第一个参数,那么子字符串会从指定的位置到末尾;

(2). 如果两个参数都指定了,那么子字符串就会从开始位置到结束位置前的字符;(左闭右开)

(3) 如果第二个参数小于第一个参数,那么它会从后向前截取; (相当于参数交换的结果)
(4) 如果给的第一个参数是负数,那么它会把字符串复制后返回。

5、substr()

substr() 方法返回一个字符串在开始索引位置截取lenght个。
语法如下: str . substr ( from , length );
参数说明:
(1) from ,数值类型,指截取的开始位置
(2) length ,数值类型,指截取的长度
示例:
        var str = 'charset';
        console.log(str);
        var s = str.substr(1, 2);
        console.log(s); //ha
        s = str.substr(4, 2);
        console.log(s); //se    从索引号为4截取2位
        s = str.substr(2);
        console.log(s); // arset 截取到最后 
        s = str.substr(-2);
        console.log(s); // et   返回向截取

注意:

(1)这个方法的参数是从那个位置开始,截取多少个字符。

(2)如果两个参数都指定了,那么就从指定的位置开始截取指定长度的字符来形成新的字

符串。
(3) 如果只指定第一个参数,那么它会从指定位置截取到字符串的最后来形成新的字符
串。
(4) 如果只指定一个参数,并且这个参数是负数,则会反向截取来形成新的字符串。

6、slice() 

slice() 方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。
语法如下: str . slice ( beginIndex [, endIndex ])
示例:
        var str = 'The morning is upon us.';
        console.log(str);
        var s = str.slice(5);
        console.log(s); //orning is upon us.
        s = str.slice(5, 9);
        console.log(s); //orni
        s = str.slice(5, -3);
        console.log(s); //orning is upon
        s = str.slice(-1, 5);
        console.log(s); //无输出内容

说明:

(1)这个方法的功能和substr()的功能类似,都是用于截取子字符串的。

(2)如果只指定第一个参数,则会从指定位置到原字符串末尾。

(3)如果指定两个参数,则会提取从指定位置到结束位置的字符。

(4)如果第二个参数是负数,则会提取从指定位置到从后向前数结束位置的字符。

(5)如果第一个参数是负数,无输出,不会报错。

7、replace() 

replace() 方法返回一个由替换值( replacement )替换部分或所有的模式( pattern )匹配项后
的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每
次匹配都要调用的回调函数。如果 pattern 是字符串,则仅替换第一个匹配项。原字符串不会改
变。
语法如下: str . replace ( regexp | substr , newSubStr | function )
示例:
        var str = 'Twas the night before Xmas...';
        console.log(str);
        // 把字母 e 替换为 , 
        var s = str.replace('e', ',');
        console.log(s); //Twas th, night before Xmas...  只替换了一个
        s = str.replace(/\s+/ig, '-');
        console.log(s); //Twas-the-night-before-Xmas...   替换了所有空格

注意:

(1)replace() 方法有两个参数,第一个参数表示要查找的字符,第二个参数表示要替换的
字符;
(2)replace() 方法可以支持正则表达式,在 JS 中正则表达式是需要编写在 // 之间,如
/\s+/ 表示匹配一到多个空格。在正则表达式后,还可以加参数,如: i 表示不区分大
小写; g 表示全局匹配; m 表示匹配多行;
(3)如果是正则表达式,不能把这个表达式写在引号中,如果写在引号中会被当作是要查
找的字符串来使用。

8、replaceAll() 

replaceAll() 方法返回一个由替换值( replacement )替换部分或所有的模式( pattern )匹配项
后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个
每次匹配都要调用的回调函数。如果 pattern 是字符串,则仅替换第一个匹配项。原字符串不会
改变。
语法如下: str . replaceAll ( regexp | substr , newSubStr | function )
示例:
        var str = 'TwAs the night before Xmas...';
        console.log(str);
        var s = str.replaceAll('as', ',');
        console.log(s); //TwAs the night before Xm,...
        s = str.replaceAll(/\s+/g, '-');
        console.log(s); //TwAs-the-night-before-Xmas...
        s = str.replaceAll(/as/ig, ',');
        console.log(s); //Tw, the night before Xm,...

注意:

(1)replaceAll() 方法会替换掉所有被查找到的字符

(2)replaceAll() 方法中如果要使用正则表达式,那么必须要添加全局匹配参数(/g)

9、split()

split() 方法使用指定的分隔符字符串将一个 String 对象分割成子字符串数组,以一个指定的分割
字串来决定每个拆分的位置。
语法如下: str . split ([ separator [, limit ]])
示例:
       var str = "Hello World How are you doing";
        console.log(str);
        var arr = str.split(' ');
        console.log(arr);
        arr = str.split(/\s+/);
        console.log(arr);

        
        str = "Hello,World,How,are,you,doing";
        console.log(str);
        arr = str.split(',');
        console.log(arr);

说明:

(1)split() 方法会根据指定的分隔符对字符串进行切割,生成一个数组;

(2)split() 方法支持正则表达式来进行切割。

10、trim()

trim() 方法会从一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符
以及所有行终止符字符。
语法如下: str . trim ()
示例:
        var str = '    char set     ';
        console.log(str);
        var s = str.trim();
        console.log(s); //char set   没有前后的空格  中间的空格不能去除

注意:只能删除前后的空格 ,中间的空格不能去除。

11、match()

match() 方法检索返回一个字符串匹配正则表达式的结果。

语法如下: str . match ( regexp )
示例:
        var str = 'For more information, see Chapter 3.4.5.1';
        console.log(str); // 定义一个正则表达式
        var regex = /see (chapter \d+(\.\d)*)/i;
        var flag = str.match(regex);
        console.log(flag);

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值