繁体   English   中英

如何使用一种正则表达式模式使String成为Java中的另一种正则表达式模式?

[英]How do I use one regex pattern to make a String become another regex pattern in Java?

提供一个简单的示例可以得出我不要求的解决方案,并且由于我要解决的模式要复杂得多,因此替代解决方案将不起作用。

假设您有一个String 123.321

这个字符串可以用正则表达式表示为[0-9]*\\\\.[0-9]*我要做的是替换“。” 用“,”获得123,321。

因此,我希望正则表达式模式[0-9]*\\\\.[0-9]*成为正则表达式模式[0-9]*,[0-9]*

是否可以指示两个正则表达式模式并使与第一个模式匹配的字符串成为与第二个模式匹配的字符串?

我该怎么办?

什么是最简单的解决方案?

您可以使用\\\\d*匹配可选数字,并用()将匹配的数字分组。 然后像这样使用String.replaceAll(String, String)

String str = "123.321";
if (str.matches("\\d*\\.\\d*")) {
  str = str.replaceAll("(\\d*)\\.(\\d*)", "$1,$2");
}
System.out.println(str);

输出是(根据要求)

123,321

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM