如何使用java将逗号(,)替换为点(.)
我有一个如何使用java将逗号(,)替换为点(.),java,string,Java,String,我有一个字符串str=12,12 对于十进制数计算,我想将(逗号)替换为。(点), 目前我正在尝试: if( str.indexOf(",") != -1 ) { str.replaceAll(",","\\."); } 请帮忙 str = str.replace(',', '.') 应该这样做。只需使用replace而不是replaceAll(需要正则表达式): 或 (replace将char或CharSequence作为输入,这是由String实现的接口) 还要注意,您应
字符串str=12,12
对于十进制数计算,我想将(逗号)替换为。(点),
目前我正在尝试:
if( str.indexOf(",") != -1 )
{
str.replaceAll(",","\\.");
}
请帮忙
str = str.replace(',', '.')
应该这样做。只需使用
replace
而不是replaceAll
(需要正则表达式):
或
(replace
将char
或CharSequence
作为输入,这是由String
实现的接口)
还要注意,您应该重新分配结果
if(str.indexOf(",")!=-1) { str = str.replaceAll(",","."); }
甚至更好
str = str.replace(',', '.');
只需使用
str.replace(',','。)
-在替换单个字符时,它既快速又高效。如果逗号不存在,它将不起任何作用。您的问题不在于匹配/替换,而在于该字符串是不可变的,您需要分配结果:
str = str.replaceAll(",","."); // or "\\.", it doesn't matter...
对于您提供的当前信息,使用这个简单的正则表达式将足以进行替换:
str.replaceAll(",", ".");
在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
希望对您有所帮助。如果您想更改它,因为您来自欧洲,并且希望使用点而不是逗号来使用扫描仪读取输入,您可以这样做:
Scanner sc = new Scanner(System.in);
sc.useLocale(Locale.US);
System.out.println(sc.locale().getDisplayCountry());
此:
“\。”
将不会编译。您知道该方法不会修改字符串,但会返回修改后的字符串,对吗?问题在于可能存在重复的字符串。
String str = " 12,12"
str = str.replaceAll("(\\d+)\\,(\\d+)", "$1.$2");
System.out.println("str:"+str); //-> str:12.12
Scanner sc = new Scanner(System.in);
sc.useLocale(Locale.US);
System.out.println(sc.locale().getDisplayCountry());