1.题目
2.解析
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RetrieveMoney {
public static void main(String[] args) {
String[] strs = new String[]{"EUR 1.409,00","€ 409,05","¥ 409.50","CNY 1,000"};
for (String s : strs) {
transfer(s);
}
}
public static void transfer(String price){
String pattern = "(EUR|¥|CNY|€)([\\s\\S]*)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(price);
if(m.find()){
String str = m.group(0);
if(str.indexOf("EUR") !=-1 | str.indexOf("€") !=-1 ){
str = deleteRedundantZero(str.replaceAll("[^0-9,-]", "").replaceAll(",","."));
System.out.println("欧元:" + price + " => " + str);
}else {
str = deleteRedundantZero(str.replaceAll("[^0-9.-]", ""));
System.out.println("人民币:" + price + " => " + str);
}
}
}
//去除小数点后多余的零
public static String deleteRedundantZero(String price){
if(price.indexOf(".") != -1){
return price.replaceAll("0+?$", "").replaceAll("[.]$", "");
}
return price;
}
}