可以和正则表达式一起使用的4个字符串方法

Posted on   猫头唔食鱼  阅读(765)  评论(0编辑  收藏  举报

1.split,把字符串拆分成数组

这个方法返回的是一个数组,并不会改变原字符串

例子:

 var str = '1a2b3c4d5'
        // 提取数字
        console.log(str.split(/[a-z]/i).join('')); // 12345
        // 提取字母
        console.log( str.split(/[0-9]/).join('')); // abcde
 console.log(str) // 原字符串不变,还是1a2b3c4d5

需要注意的是,split是自动匹配全局的,正则表达式中不用写g了

 

2.replace,替换字符串,串两个参数

str.replace('原字符串','新字符串')

特性:1.支持正则 

           2. 支持全局匹配 g 

           3.返回新字符串,不更改原字符串

例子:

  str = 'abcdea'
 console.log(str.replace(/a/gi,'b')); // 返回新字符串
 console.log(str); // 不更改原字符串

 

3.search,返回被搜索字符串的index,不支持全局匹配,正则里写了g也没用,只会返回一个下标

   str = 'abcdea'
   console.log(str.search(/a/)); // search 返回index,不能进行全局匹配,只会返回一个index

 

4.match,返回一个匹配字符串的数组,不改变原字符串,支持全局匹配

例子:

这个例子和split返回的结果是一样的,不同的是,正则需要写上g

 str = '1a2b3c4d5d'
        console.log(str.match(/[a-z]/ig).join('')); // 12345
        console.log(str.match(/[0-9]/g).join('')); // abcde
        console.log(str); // 不更改原来字符串

 

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示