一些字符串的处理

来源:互联网 发布:windows mobile 10手机 编辑:程序博客网 时间:2024/05/21 21:42
import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringUtil {/** * 查看字符串是否合法 * @param str * @return */public static boolean isFine(String str) {return str != null && str.length() > 0;}/** * 将GBK转化为ISO-8859-1 * @param para * @return */public static String gbkToIso(String str) {try {return new String(str.getBytes("GBK"), "ISO-8859-1");} catch (UnsupportedEncodingException e) {return "";} catch (Exception e) {return "";}}/** * 判断字符串中是否有中文 * @param str * @return */public static boolean isContainChinaStr(String str) {if (str == null || str.length() == gbkToIso(str).length())return false;return true;}/** * 转化为BASE64Encoder编码 * @param str * @return */public static String base64Encoder(String str) {sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();return enc.encode(str.getBytes());}/** * 将字符串里的中文转码 * @param url * @return */public static String enCodeString(String str){if(!StringUtil.isFine(str))return null;Pattern pattern = Pattern.compile("[/u4e00-/u9fa5]|[/uFF00-/uFFEF]",Pattern.CASE_INSENSITIVE|Pattern.DOTALL);Matcherm = pattern.matcher(str);if(m.find()){int get=m.start();String suburl=str.charAt(get)+"";String encodesuburl="";try{encodesuburl=URLEncoder.encode(suburl,"utf-8");}catch(Exception e){}str=str.replaceAll(suburl,encodesuburl);str=enCodeString(str);}str=str.replaceAll(" ","20%");return str;}public static void main(String[] args){}}