当前位置:网站首页>正则替换【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:所有的数字- 以
*数字*形式返回
边栏推荐
- .NET ORM框架HiSql实战-第二章-使用Hisql实现菜单管理(增删改查)
- Scala basic tutorial -- 19 -- actor
- Wireshark packet capturing TLS protocol bar displays version inconsistency
- Digital "new" operation and maintenance of energy industry
- Scala基础教程--13--函数进阶
- Behind the ultra clear image quality of NBA Live Broadcast: an in-depth interpretation of Alibaba cloud video cloud "narrowband HD 2.0" technology
- Is it safe to open an account online? is that true?
- C语言打印练习
- How to improve development quality
- Li Kou brush question diary /day8/7.1
猜你喜欢

基于lex和yacc的词法分析器+语法分析器

Li Kou brush question diary /day3/2022.6.25

被忽视的问题:测试环境配置管理

TCP两次挥手,你见过吗?那四次握手呢?

Scala basic tutorial -- 18 -- set (2)

学习路之PHP--phpstudy创建项目时“hosts文件不存在或被阻止打开”

Machine learning concept drift detection method (Apria)

线上MySQL的自增id用尽怎么办?

字节跳动Dev Better技术沙龙成功举办,携手华泰分享Web研发效能提升经验

力扣刷题日记/day8/7.1
随机推荐
Nature Microbiology | 可感染阿斯加德古菌的六种深海沉积物中的病毒基因组
Esp32-c3 introductory tutorial questions ⑫ - undefined reference to ROM_ temp_ to_ power, in function phy_ get_ romfunc_ addr
[mathematical modeling of graduate students in Jiangxi Province in 2022] analysis and code implementation of haze removal by nucleation of water vapor supersaturation
Thawte通配符SSL证书提供的类型有哪些
力扣刷题日记/day8/7.1
Reptile elementary learning
Li Kou brush question diary /day6/6.28
[210] usage of PHP delimiter
[cloud voice suggestion collection] cloud store renewal and upgrading: provide effective suggestions, win a large number of code beans, Huawei AI speaker 2!
[2022 Jiangxi graduate mathematical modeling] curling movement idea analysis and code implementation
Scala基础教程--14--隐式转换
6.26CF模拟赛E:价格最大化题解
What types of Thawte wildcard SSL certificates provide
ESP32-C3入门教程 问题篇⑫——undefined reference to rom_temp_to_power, in function phy_get_romfunc_addr
.NET ORM框架HiSql实战-第二章-使用Hisql实现菜单管理(增删改查)
Journal des problèmes de brosse à boutons de force / day6 / 6.28
Scala基础教程--15--递归
Scala基础教程--16--泛型
中国农科院基因组所汪鸿儒课题组诚邀加入
Scala basic tutorial -- 13 -- advanced function