如何使用java将点(。)替换为逗号(,)
我有一个String str = 12,12
我想用(。逗号)替换。(点)进行十进制数计算,目前我正在尝试这个:
if( str.indexOf(",") != -1 ) { str.replaceAll(",","\\."); }
请帮忙
你的问题不在于匹配/替换,但是String是不可变的,你需要分配结果:
str = str.replaceAll(",","."); // or "\\.", it doesn't matter...
只需使用replace
而不是replaceAll
(期望正则表达式):
str = str.replace(",", ".");
要么
str = str.replace(',', '.');
( replace
将char
或CharSequence
作为输入,这是String
实现的接口)
另请注意,您应该重新分配结果
str = str.replace(',', '.')
应该做的伎俩。
if(str.indexOf(",")!=-1) { str = str.replaceAll(",","."); }
甚至更好
str = str.replace(',', '.');
对于您提供的当前信息,这个简单的正则表达式将用于替换:
str.replaceAll(",", ".");
只需使用str.replace(',', '.')
– 当要替换单个字符时,它既快又有效。 如果逗号不存在,则不执行任何操作。
在java src中你可以添加一个像这样的新工具:
public static String remplaceVirguleParpoint(String chaine) { return chaine.replaceAll(",", "\\."); }
用这个:
String str = " 12,12" str = str.replaceAll("(\\d+)\\,(\\d+)", "$1.$2"); System.out.println("str:"+str); //-> str:12.12
希望能帮助你。