Java将字符串中的全角字符转成对应的半角字符

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#

猜你喜欢

转载自blog.csdn.net/qq_26975307/article/details/85100175