java 正则实战 牛客网 HJ96 表示数字
原题地址如下:
https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6?tpId=37&tqId=21319&rp=1&ru=/ta/huawei&qru=/ta/huawei&difficulty=2&judgeStatus=&tags=/question-ranking
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main{ public static void main(String[] args){ try (Scanner input = new Scanner(System.in)) { while(input.hasNext()){ StringBuffer str = new StringBuffer();//StringBuffer可以配合Match的appendReplacement()进行匹配替换 String inputStr = input.nextLine(); String patternStr = "\\d+";//注意记得转义转义符号 Pattern pattern = Pattern.compile(patternStr);//套路1构建Pattern Matcher matcher = pattern.matcher(inputStr);//套路二构建Match while(matcher.find()){//套路三:Match的find()是和group()相互配合的,第一次调用 find()在输入的开始处开始搜索。下一个调用将在上一次匹配后开始搜索。group()方法通过前一个成功的find()方法调用返回找到的字符串 matcher.appendReplacement(str,"*" + matcher.group() + "*");//appendReplacement()参数一要指定一个StringBuffer用来存放匹配替换后的新结果;参数二要指定替换的内容;替换的目标就是当前find()所指向的匹配 } matcher.appendTail(str);//为了完整输出还需要将未匹配的后续字符串拼接至末尾 System.out.println(str); } } } }
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix