用正则就只一句代码

表示数字

http://www.nowcoder.com/questionTerminal/637062df51674de8ba464e792d1a0ac6

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    while (scanner.hasNext()) {
        String input = scanner.next();
        System.out.println(input.replaceAll("([0-9]+)", "*$1*")); //把所有的数字段提取出来,前后加上星号再放回去
    }
}

}

全部评论
解释一下这个正则表达式: input.replaceAll("([0-9]+)", "*$1*") ()在表达式中表示一组.后面$1表示组1. 整个的意思就是把每组数的前后加上*进行替换. 你学废了吗
18 回复 分享
发布于 2022-08-03 14:48
这个解法把我看笑了,简直666,大神的解法就是无敌
7 回复 分享
发布于 2021-12-04 22:57
[0-9]+后面的加号表示匹配数不能为空,因为匹配到多个所以加括号分组,结合一下楼上老哥的回答
4 回复 分享
发布于 2022-10-13 15:18 陕西
不讲武德
2 回复 分享
发布于 2021-10-07 15:06
666
2 回复 分享
发布于 2021-03-27 19:48
666
1 回复 分享
发布于 2021-09-13 15:25
666
1 回复 分享
发布于 2021-07-21 11:21
悄悄的去看了看正则表达式
点赞 回复 分享
发布于 2022-08-22 11:04 陕西
我曹,这太科学了
点赞 回复 分享
发布于 2022-07-29 22:38
woc
点赞 回复 分享
发布于 2022-06-19 12:39
不讲武德
点赞 回复 分享
发布于 2022-06-06 17:50
牛逼牛逼
点赞 回复 分享
发布于 2022-05-30 14:35
不讲武德
点赞 回复 分享
发布于 2022-05-28 18:20
666
点赞 回复 分享
发布于 2022-05-14 01:06
点开的一瞬间,心里只有一句:**
点赞 回复 分享
发布于 2022-04-19 22:18
niu a
点赞 回复 分享
发布于 2022-04-16 20:05
666
点赞 回复 分享
发布于 2021-12-23 01:58

相关推荐

点赞 评论 收藏
分享
求面试求offer啊啊啊啊:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
评论
218
25
分享

创作者周榜

更多
牛客网
牛客企业服务