实例: SO₂(μg/m³)_SK NOx(μg/m³)_SK PM₂.₅(μg/m³)_SK O₃(μg/m³)_SK
需要转换为: SO2(μg/m³)_SK NOX(μg/m³)_SK PM25(μg/m³)_SK O3(μg/m³)_SK
/**
* 将下标数字转正常数字并下标X的字母转换
* @param s
* @return
*/
public String dealSubScriptionNumber(String s){
s=s.toUpperCase().replace(".","");
String s1 = string2Unicode(s);
String s2=s1.replace("\\u208","\\u003").replace("\\u78","\\u0058");//将下角数字和下角x的unicode的下划线码转普通数字
return unicode2String(s2);
}
/**
* 字符串转换unicode
* @param string
* @return
*/
public static String string2Unicode(String string) {
StringBuffer unicode = new StringBuffer();
for (int i = 0; i < string.length(); i++) {
// 取出每一个字符
char c = string.charAt(i);
// 转换为unicode
unicode.append("\\u" + Integer.toHexString(c));
}
return unicode.toString();
}
/**
* unicode 转字符串
* @param unicode 全为 Unicode 的字符串
* @return
*/
public static String unicode2String(String unicode) {
StringBuffer string = new StringBuffer();
String[] hex = unicode.split("\\\\u");
for (int i = 1; i < hex.length; i++) {
// 转换出每一个代码点
int data = Integer.parseInt(hex[i], 16);
// 追加成string
string.append((char) data);
}
return string.toString();
}