700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 正则替换【JS 正则表达式】

正则替换【JS 正则表达式】

时间:2023-02-25 18:16:41

相关推荐

正则替换【JS 正则表达式】

问题描述

表示数字_牛客题霸_牛客网 ()

题目要求将所有的数字替换成*数字*

原本这道题我准备就常规使用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:所有的数字以*数字*形式返回

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。