我有一些金额作为输入,如:
Rs1, INR10,954.00, INR 45000, INR 25000.70, 25000卢比, 1000卢比, 卢比。 14000 这些是我正在使用的输入格式
String getRuppee="Rs1"; // this string can not get the format and gives wrong output.
String val=getRuppee.toLowerCase()
.replaceAll(",", "")
.replaceAll("rs.", "")
.replaceAll("\"rs\"", "")
.replaceAll("rs", "")
.replaceAll("inr", "")
.replaceAll("inr ", "")
.replaceAll("mrp", "")
.replaceAll(" ", "");
除非是第一个(Rs1),否则我按照上面的输入得到输出。
Log.e("Converstion", "Converstion Balance."
+getRuppee.toLowerCase().
replaceAll("rs.", ""));
我需要输出1,但它给我null。
Logcat显示:“06-07 11:34:48.438:E / Converstion(8233):Converstion Balance。”
答案 0 :(得分:2)
这是你的问题
.replaceAll("rs.", "")
由于replaceAll正在基于regexp进行替换,因此这将替换以rs
开头的任何内容,后跟任何char
尝试使用.replace
替换所有字符串
答案 1 :(得分:2)
按如下方式更改您的代码
String getRuppee="Rs1"; // this string can not get the format and gives wrong output.
String val=getRuppee.toLowerCase()
.replace(",", "")
.replace("rs.", "")
.replace("\"rs\"", "")
.replace("rs", "")
.replace("inr", "")
.replace("inr ", "")
.replace("mrp", "")
.replace(" ", "");
答案 2 :(得分:0)
尝试以下代码:
String[] getRuppee = {"RS1", "INR10","954.00" , "INR 45000" , "INR 25000.70" , "Rs.25000" , "Rs.1,000" , "Rs. 14000"};
for (String tmp : getRuppee){
String val=tmp.toLowerCase()
.replaceAll(",", "")
.replaceAll("rs\\.", "") //check here
.replaceAll("\"rs\"", "")
.replaceAll("rs", "")
.replaceAll("inr", "")
.replaceAll("inr ", "")
.replaceAll("mrp", "")
.replaceAll(" ", "");
System.out.println(val);
}