注册
 找回密码
 注册
江西广告网
查看: 366|回复: 0
打印 上一主题 下一主题

J2SE综合-关于字符串的一些处理技巧

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-1-7 10:26:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  这是本人与同事在工作中对字符串处理的总结,发表出来,希望对大家有些帮助,也希望大家给予指正,谢谢!"   import java.util.*;   /** *   文件标题:   *关于字符串的一些处理方法: * @版本 1.0 */ public class StringUtil { public StringUtil() { } /** * @description 字符串替代函数 * @param source String 源字符串 * @param be_rep_str String 需要被替换的子串 * @param rep_str String 要替换的目标串 * @param return_str String * @return String */ public static String replaceStr(String source, String be_rep_str, String rep_str, String return_str) { if (source.indexOf(be_rep_str) < 0) { return source; } else { String head = source.substring(0, source.indexOf(be_rep_str)); String body = rep_str source.substring(source.indexOf(be_rep_str) be_rep_str.length()); return_str = replaceStr(head body, be_rep_str, rep_str, return_str); } return return_str; } public static String[] getFields(String test, String sep) { //坼分字符,将字句test按照sep进行坼分。 sep = "\u0020"; if (test.indexOf(sep) != -1) { if ( (test.indexOf(sep) > test.indexOf("#")) && test.indexOf("#") != -1) { sep = "#"; } } else { sep = "#"; } String[] st; List flds = new ArrayList(); if (sep.equals("\u0020")) { StringTokenizer stto = new StringTokenizer(test.trim(), sep); while (stto.hasMoreTokens()) { flds.add(stto.nextToken()); } st = (String[]) flds.toArray(new String[stto.countTokens()]); } else { st = test.trim().split(sep); } return st; } // public String DBC2SBC(String str) // { // int i ; // String result = ""; // for (i = 0 ; i < str.length(); i ) // { // code = str.charCodeAt(i) ; // // “65281”是“!”,“65373”是“}” // if (code >= 65281 && code < 65373) // // “65248”是转换码距 // result = String.fromCharCode(str.charCodeAt(i) - 65248) ; // else // result = str.charAt(i) ; // } // return result ; // } /** * 半角 DBC case -> 全角 SBC case * @param QJstr String * @return String */ public static final String BQchange(String QJstr) { String outStr = ""; String Tstr = ""; byte[] b = null; for (int i = 0; i < QJstr.length(); i ) { try { Tstr = QJstr.substring(i, i 1); b = Tstr.getBytes("unicode"); } catch (java.io.UnsupportedEncodingException e) { e.printStackTrace(); } if (b[3] != -1) { b[2] = (byte) (b[2] - 32); b[3] = -1; try { outStr = outStr new String(b, "unicode"); } catch (java.io.UnsupportedEncodingException e) { e.printStackTrace(); } } else { outStr = outStr Tstr; } } return outStr; } /** * 全角 转换成 -> 半角 * @param QJstr String * @return String */ public static final String QBchange(String QJstr) { String outStr = ""; String Tstr = ""; byte[] b = null; for (int i = 0; i < QJstr.length(); i ) { try { Tstr = QJstr.substring(i, i 1); b = Tstr.getBytes("unicode"); } catch (java.io.UnsupportedEncodingException e) { e.printStackTrace(); } if (b[3] == -1) { b[2] = (byte) (b[2] 32); b[3] = 0; try { outStr = outStr new String(b, "unicode"); } catch (java.io.UnsupportedEncodingException e) { e.printStackTrace(); } } else { outStr = outStr Tstr; } } return outStr; } public static void main(String aa[]) { String qj = "#?¥%……?*()"; String bj = "#@$%^&*()"; System.out.println("半角转换成全角:" bj " --> " BQchange(bj)); String s = " "; String qs = " "; System.out.println("全角转换成半角:" qj " -->" QBchange(qj)); System.out.println( (int) (QBchange(qs).toCharArray()[0])); System.out.println( (int) s.toCharArray()[0]); String dd[] = getFields("23#99#99#99", "#"); for (int i = 0; i < dd.length; i ) { System.out.println("asfd" dd[i]); } System.out.println(dd.length); } }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表