java - 如何在不触及特定数字的情况下用 ""替换所有 ""?

标签 java

这可能看起来像一个重复的问题,但我真的找不到答案。经过搜索后,我了解了正则表达式和匹配器,但我无法想出解决方案。如果您能帮助我,我将非常感激。

在 Java 中,我想将字符串中的 replaceAll "" 替换为 "",但不应触及数字 10。所以我不希望 101 0

这是一个字符串:String x = "123456789"

如果我使用这个:x.replaceAll(".(?=.)", "$0 ")

我得到:“1 2 3 4 5 6 7 8 9”

但是如果字符串是:x = "12345678910"我怎样才能得到:"1 2 3 4 5 6 7 8 9 10" 它可能是这样的: x = {123104} 我再次需要 {1 2 3 10 4}

感谢您检查...

最佳答案

如果您希望它适用于 10 以外的其他数字:

String x = "12345678910";
x = x.replaceAll(".(?!0)", "$0 ");
System.out.println(x);

输出:

1 2 3 4 5 6 7 8 9 10

<小时/>
String x = "123456789101001230";
x = x.replaceAll(".(?!0)", "$0 ");
System.out.println(x);

输出:

1 2 3 4 5 6 7 8 9 10 100 1 2 30

关于java - 如何在不触及特定数字的情况下用 ""替换所有 ""?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30020031/

相关文章:

java - 使用 StaticClass.staticValue 后是否保留或处置静态类

java - Docker 是否在 VM 之上提供任何内存效率?

Java Applet 安全问题

java - 如何让ArrayList随机产生多个不完全相同的

Java 程序不会抛出所需的异常

java - 将空白节点添加到 Jena 模型

java - 部署 Java Web 服务的要求

java - 如何使用下一个/上一个点击来按顺序获取下一个日期

java - 如何在jsch中获取输出结果

Java 8 到 openJdk 11 com.sun.org.apache.xml.internal.* 类型不可访问