javascript 常用字符串方法总结

javascript 常用字符串方法总结

MDN 文档

1. 返回字符串中指定的字符 (.charAt())
  • 原字符串不改变
  • 参数:index 需要查询的索引
  • 返回值:查找到的字符
    const a = 'abcdef1234567';

    const ret = a.charAt(3);
    console.log(a); // abcdef1234567
    console.log(ret); // d
2. 返回指定字符串中指定字符的 Unicode 码 (.charCodeAt())
  • 原字符串不改变
  • 参数:index 需要查询的索引
  • 返回值:查找到的字符的 Unicode 码
    const a = 'abcdef1234567';

    const ret = a.charCodeAt(3);
    console.log(a); // abcdef1234567
    console.log(ret); // 100
3. 返回使用指定的Unicode值序列创建的字符串 (String.fromCharCode())
  • 原字符串不改变
  • 参数:Unicode 码
  • 返回值:对应的字符串
    const ret = String.fromCharCode(65,66,67)

    console.log(ret); // ABC
4. 返回字符串中出现指定值的第一个或者最后一个索引 (.indexOf() / lastIndexOf())
  • 原字符串不改变
  • 参数:searchValue (查询的值) fromIndex 起始查询位置
  • 返回值:指定值第一次出现的索引,没有的话返回 -1
    const a = 'abcdef1234567abcd';

    const ret0 = a.indexOf('abc');
    const ret1 = a.lastIndexOf('abc');
    const ret2 = a.indexOf('abc', 4);

    console.log(ret0); // 0
    console.log(ret1); // 13
    console.log(ret2); // 13
5. 大小写转换 (.toLowerCase() / .toUpperCase())
  • 原字符串不改变
  • 返回值:大小写转换后的值
    const a = 'abCDef1234567ABcd';

    const ret0 = a.toLowerCase();
    const ret1 = a.toUpperCase();

    console.log(ret0); // abcdef1234567abcd
    console.log(ret1); // ABCDEF1234567ABCD
    console.log(a); // abCDef1234567ABcd
6. 选取字符串 (.substr() / .substring() / .slice())
  • 原字符串不改变
  • 返回值: 选取后的字符串
    const a = 'abCDef1234567ABcd';
    // substr 参数:start (起始索引)leng (截取长度)
    const ret0 = a.substr(2,10);
    // substring 参数: start (起始索引)end (结束为止索引)
    const ret1 = a.substring(2, 10);
    // slice() 方法也是用来截取字符串 用法跟 substring() 一样,但是在参数为负数值返回值不一样
    const ret2 = a.slice(2, 10);
    const ret3 = a.substring(-3, -1);
    const ret4 = a.slice(-3, -1);

    console.log(ret0); // CDef123456
    console.log(ret1); // CDef1234
    console.log(ret2); // CDef1234
    console.log(ret3); // ''
    console.log(ret4); // BC
    console.log(a); // abCDef1234567ABcd
    // replace(regexp|substr, newSubStr|function) 替换 原数组不变
    const a = 'abCDef1234567ABcd';
    const ret0 = a.replace(/abcd/i, 'A%B%C%D%');

    console.log(ret0); // A%B%C%D%ef1234567ABcd
    console.log(a); // abCDef1234567ABcd

    // match(regexp); 寻找匹配项 返回值 包含匹配结果的数组 

    const a = 'abCDef1234567ABcd';

    const ret0 = a.match(/abcd/ig);
    const ret1 = a.match(/abcd/i);

    console.log(ret0); // [ 'abCD', 'ABcd' ]
    console.log(ret1); // [ 'abCD', index: 0, input: 'abCDef1234567ABcd' ]
    console.log(a); // abCDef1234567ABcd

    // search(regexp) 搜索匹配项 返回 匹配的索引 没有匹配返回 -1
    const a = '123abCDef1234567ABcd';

    const ret0 = a.search(/abcd/ig);
    const ret1 = a.search(/ddd/i);

    console.log(ret0); // 3
    console.log(ret1); // -1
    console.log(a); // 123abCDef1234567ABcd 
8. 字符串拼接 (.concat())
  • 原字符串不改变
  • 参数:要拼接的字符串
  • 返回值: 拼接后的字符串
    const a = 'abcsddad';
    const b = '1234';

    const ret0 = a.concat(b);

    console.log(ret0); // abcsddad1234
    console.log(a); // abcsddad
9. 判断字符串中是否包含另一个字符串 (.includes())
  • 原字符串不改变
  • 参数:需要查找的字符串
  • 返回值: true | false 是否包含
    const a = 'abcsddad';

    const ret0 = a.includes('abc');

    console.log(ret0); // true
    console.log(a); // abcsddad
10. 构造重复字符串 (.repeat())
  • 原字符串不改变
  • 参数:需要重复的次数 (>= 0 浮点数会被转换成整数)
  • 返回值: 重复后的字符串
    const a = 'abc';

    const ret0 = a.repeat(3);

    console.log(ret0); // abcabcabc
    console.log(a); // abc
11. 判断一个字符串是否由另外一个字符串开头或者结尾 (.startsWith() / endsWith)
    const a = 'abc1231ddad12';

    const ret0 = a.startsWith('abc');
    const ret1 = a.endsWith('12');

    console.log(ret0); // true
    console.log(ret1); // true
    console.log(a); // abc1231ddad12
12. 字符串两边删除空白字符 (.trim())
    const a = ' hello hello ';

    const ret0 = a.trim('abc');

    console.log(ret0); // 'hello hello'
    console.log(a); // ' hello hello '
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值