Java將字串中的全形字元轉成對應的半形字元
阿新 • • 發佈:2018-12-20
package com.hung.test; /** * 全形轉半形 * @author hung * */ public class MyQB { /** * @param args */ public static void main(String[] args) { String qs = "1 2 3·4657890qazwsxedcrfvtgbyhnujmkilo,。、;‘’\】【"; String rqs = Q2BChange(qs,true); System.out.println(qs + "\n" + rqs); } private static String Q2BChange(String input,boolean flag) { String result = ""; char[] str = input.toCharArray(); for(int i=0;i<str.length;i++ ){ int code = str[i];//獲取當前字元的unicode編碼 if (code >= 65281 && code <= 65373)//在這個unicode編碼範圍中的是所有的英文字母以及各種字元 { result +=(char)(str[i] - 65248);//把全形字元的unicode編碼轉換為對應半形字元的unicode碼 }else if (code == 12288)//空格 { result +=(char)(str[i] - 12288 + 32); }else if(code == 65377){ result +=(char)(12290); }else if(code == 12539){ result +=(char)(183); }else if(code == 8482 && flag==true){//如果是特殊字元TM 並且是需要轉換的所作操作 }else if(code ==8226){ //特殊字元 ‘·’的轉化 result += (char)(183); }else{ result += str[i]; } } return result; } }
原文連結:https://blog.csdn.net/q821424508/article/details/46564357#