java - 如何区分字符串中的“0”和“00”并替换子字符串
问题描述
在一个字符串中,我如何用 X 替换所有“0”,用 Y 替换所有“00”,但如果它超过 2 个零,就让它保持原样。
例如:00 0 000 0000 0
示例输出:Y X 000 0000 X
解决方案
在 Java 14+ 中,您可以这样做:
String input = "00 0 000 0000 0";
String result = Pattern.compile("0+").matcher(input).replaceAll(m ->
switch (m.group().length()) {
case 1 -> "X";
case 2 -> "Y";
default -> m.group();
});
System.out.println(result); // prints: Y X 000 0000 X
推荐阅读
- c# - 使用 EF 内核运行时编译 DbContext,缺少 Migrator() 的参考
- flutter - 如何有效捕获指定异常、显示警告和注销?
- r - 使用 r studio 4.03 for windows 10 编译 c 代码
- css - 如何在 Vuetify 的列之间添加间隔而不损坏网格?
- linux - 如何在 Linux 上为 IdentityServer4 配置密钥
- vue.js - 尝试使用 vue-cli 创建新的 vue 项目时套接字超时
- email - 使用群组电子邮件 ID 发送 smtp 电子邮件
- c# - 瓶装啤酒程序在插值后中断
- amazon-web-services - Redshift: InvalidParameter Value Invalid marker:请使用之前请求返回的marker或者省略marker参数
- cypress - 使用 cy.viewport("anydevice") 运行脚本时,应用程序无法以移动响应模式打开