code: public static String toDBC(String text, Set<Character> notConvertSet) {
  		char c[] = text.toCharArray();
  		for (int i = 0; i < c.length; i++) {
  			if (null != notConvertSet && notConvertSet.contains(c[i])) {
  				// 跳过不替换的字符
  				continue;
  			}
  
  			if (c[i] == '\u3000' || c[i] == '\u00a0' || c[i] == '\u2007' || c[i] == '\u202F') {
  				// \u3000是中文全角空格，\u00a0、\u2007、\u202F是不间断空格
  				c[i] = ' ';
  			} else if (c[i] > '\uFF00' && c[i] < '\uFF5F') {
  				c[i] = (char) (c[i] - 65248);
  			}
  		}
  		String returnString = new String(c);
  
  		return returnString;
  	}
docs: 替换全角为半角
  
  @param text 文本
  @param notConvertSet 不替换的字符集合
  @return 替换后的字符