当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

分享一个实用的String的工具类[Java编程]

赞助商链接



  本文“分享一个实用的String的工具类[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在编写J2ME程序时,我们尝尝要操作字符串,而本来在J2SE里面供应了很多String的操作办法,在J2ME里面是没有的,这些办法我们得自己手动去写.我整理了一下我常用的字符串操作办法:

1.URLEncode(String url)方,对字符串的特别字符举行编码,这个办法用的非常普通,我们的HttpConnection恳求必必要用到这个办法.

2.split(String s, int chr),这个办法用于分割字符串,返回一个字符串数组,当某些数据以特定的字符做隔断时,我们取出数据尝尝要用到这个办法.

3.replaceAll(String from, String to, String source),这个办法是用来替换字符串中的子串的,比方:replaceAll("aaa","","aaabbbcccaaa")把字符串"aaabbbccc"中的全部"aaa"替换成空字符串,后果就是"bbbccc".

4.StringFilter(String str),这个办法是用来过滤某些字符的.

/*
  * To change this template, choose Tools | Templates
  * and open the template in the editor.
  */
package test;
import java.util.Vector;
/**
  *
  * @author Administrator
  */
public class StringUtil {
     /**
      * URLEncode对特别字符举行编码
      * @param url
      * @return
      */
     public static String URLEncode(String url) {
         StringBuffer buf = new StringBuffer();
         for (int i = 0; i < url.length(); i++) {
             switch (url.charAt(i)) {
                 case ' ':
                     buf.append("%20");
                     break;
                 case '+':
                     buf.append("%2b");
                     break;
                 case '\'':
                     buf.append("%27");
                     break;
                 case '/':
                     buf.append("%2F");
                     break;
                 case '.':
                     buf.append("%2E");
                     break;
                 case '<':
                     buf.append("%3C");
                     break;
                 case '>':
                     buf.append("%3E");
                     break;
                 case '#':
                     buf.append("%23");
                     break;
                 case '%':
                     buf.append("%25");
                     break;
                 case '&':
                     buf.append("%26");
                     break;
                 case '{':
                     buf.append("%7B");
                     break;
                 case '}':
                     buf.append("%7D");
                     break;
                 case '\\':
                     buf.append("%5C");
                     break;
                 case '^':
                     buf.append("%5E");
                     break;
                 case '~':
                     buf.append("%73");
                     break;
                 case '[':
                     buf.append("%5B");
                     break;
                 case ']':
                     buf.append("%5D");
                     break;
                 default:
                     buf.append(url.charAt(i));
                     break;
             }
         }
         return buf.toString();
     }
     /**
      * 把String以一个char为分割点,拆分成String数组
      * @param s
      * @param chr
      * @return
      */
     public static String[] split(String s, int chr) {
         Vector res = new Vector();
         int curr;
         int prev = 0;
         while ((curr = s.indexOf(chr, prev)) >= 0) {
             res.addElement(s.substring(prev, curr));
             prev = curr + 1;
         }
         res.addElement(s.substring(prev));
         String[] splitted = new String[res.size()];
         res.copyInto(splitted);
         return splitted;
     }
     /**
      * 字符串替换
      * @param from
      *          字符串中要被替换的子串
      * @param to
      *         替换子串的字符串
      * @param source
      *          被操作的字符串
      * @return
      */
     public static String replaceAll(String from, String to, String source) {
         if (source == null || from == null || to == null) {
             return null;
         }
         StringBuffer bf = new StringBuffer();
         int index = -1;
         while ((index = source.indexOf(from)) != -1) {
             bf.append(source.substring(0, index) + to);
             source = source.substring(index + from.length());
             index = -1;
         }
         bf.append(source);
         return bf.toString();
     }
     /**
      * 字符串过滤
      *          过滤掉诸如<html>这样的标签,获得此中的文本.
      *          比方 str = <html>文本区域</html>,传的时刻传一个节点过来(一对封闭标签)
      * @param str
      * @return
      */
     public static String StringFilter(String str) {
         String now = str;
         int start = 0;
         int end = 0;
         for (int i = 0; i < now.length(); i++) {
             //'\u003C','\u003E' = <>
             if (now.charAt(i) == '\u003C') {
                 start = i;
             }
             if (now.charAt(i) == '\u003E') {
                 end = i;
             }
             if (start != -1 && end != -1) {
                 String sub = now.substring(start, end+1);
                 str = StringUtil.replaceAll(sub, "", str);
                 start = 0;
                 end = 0;
             }
         }
         return str;
     }
}


  以上是“分享一个实用的String的工具类[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 分享一个实用的String的工具类
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .