demo如下:
String s = "25℃~17℃aaa22℃~13℃bbb12℃~17℃";
Pattern pattern = Pattern.compile("(\\d+)℃~(\\d+)℃");
Matcher matcher = pattern.matcher(s);
//遍历匹配项
while(matcher.find()){
/**
* 第一次:25℃~17℃
* 第二次:22℃~13℃
* 第三次:12℃~17℃
*/
String temp = matcher.group();
/**
* 第一次:25
* 第二次:22
* 第三次:12
*/
String temp1 = matcher.group(1);
/**
* 第一次:17
* 第二次:13
* 第三次:17
*/
String temp2 = matcher.group(2);
if(Integer.parseInt(temp1)>Integer.parseInt(temp2)){
temp=temp.replace(temp2, temp1);
temp=temp.replaceFirst(temp1,temp2);
}
System.out.println(temp);
}
输出:
17℃~25℃
13℃~22℃
12℃~17℃