当前位置:网站首页>正则替换【JS,正则表达式】
正则替换【JS,正则表达式】
2022-07-04 17:16:00 【qq_22841387】
问题描述
表示数字_牛客题霸_牛客网 (nowcoder.com)
题目要求将所有的数字替换成*数字*
原本这道题我准备就常规使用c++去写的,但是写的过程中突然意识到
所有数字替换,不就是找到所有数字后替换吗?那不就可以使用正则表达式
了
带着这个想法,我去寻找对应的正则表达式
解决代码
var value = readline();
console.log(value.replace(/(\d+)/g, (number) => {
return `*${
number}*`;
} ))
没错,就两句话……提交答案成功的那一刻我也有一点点震惊……
思路历程
其实开始我拿到这个题目的时候,我当时已经知道了通过正则可以替换了,但是就是差那么一个点,让我能解决这道题如何不只是替换,而是加上字符后替换
于是发现可以使用函数去替换
1.获取到所有数字
首先第一步就是通过正则表达式获取到所有的数字,/(\d+)/g
(\d+)
:匹配一个或多个数字/g
:全局匹配,与replaceAll类似
其实我知道如何去替换数字
/[0-9]/g
,也同样可以匹配到所有的数字,但是却不是我们想要的结果。
通过/[0-9]/g
去寻找数字,只能找到一个数字,因为只有一个数字是满足0-9这个条件的
而通过(\d+)
则可以匹配到连续的多个数字
2.替换赋值
找到所有数字之后,第二步就是如何去将数字替换成*数字*
了。
直接通过函数去处理
(number) => {
return `*${
number}*`;
}
因为第一步,我们已经找出了所有的连续的数字,那么我们就可以将这些找到的数字接起来,处理之后,再返回出去
number
:所有的数字- 以
*数字*
形式返回
边栏推荐
猜你喜欢
【2022年江西省研究生数学建模】冰壶运动 思路分析及代码实现
Nature Microbiology | 可感染阿斯加德古菌的六种深海沉积物中的病毒基因组
力扣刷题日记/day3/2022.6.25
机器学习概念漂移检测方法(Aporia)
输入的查询SQL语句,是如何执行的?
I always thought that excel and PPT could only be used for making statements until I saw this set of templates (attached)
VMware Tools和open-vm-tools的安装与使用:解决虚拟机不全屏和无法传输文件的问题
Numpy 的仿制 2
力扣刷题日记/day2/2022.6.24
力扣刷题日记/day7/6.30
随机推荐
输入的查询SQL语句,是如何执行的?
Torchdrug tutorial
线上MySQL的自增id用尽怎么办?
[211] go handles the detailed documents of Excel library
Installation and use of VMware Tools and open VM tools: solve the problems of incomplete screen and unable to transfer files of virtual machines
力扣刷题日记/day3/2022.6.25
能源行业的数字化“新”运维
What types of Thawte wildcard SSL certificates provide
输入的查询SQL语句,是如何执行的?
What if the self incrementing ID of online MySQL is exhausted?
[HCIA continuous update] WAN technology
蓝桥:合根植物
Scala basic tutorial -- 18 -- set (2)
Scala基础教程--18--集合(二)
Digital "new" operation and maintenance of energy industry
6.26CF模拟赛B:数组缩减题解
发送和接收IBM WebSphere MQ消息
使用SSH
. Net ORM framework hisql practice - Chapter 2 - using hisql to realize menu management (add, delete, modify and check)
NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读