分享一个实用的String的工具类
2009-12-04 00:24
633 查看
在编写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),这个方法是用来过滤某些字符的。
代码
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的工具类
- 分享一个Struts2中Action工具类极大提高开发效率
- 一个实用的分享小工具
- (原创)分享一个实用的圆形ImageView
- 分享一个PHP PDO 的工具类,采用预编译有效防止SQL注入
- 分享一个实用、极速开发的webapp开发工具
- Android 分享一个SharedPreferences的工具类,方便保存数据
- Android 分享一个SharedPreferences的工具类,方便保存数据
- Android 分享一个SharedPreferences的工具类,方便保存数据
- 分享一个Java生成二维码工具类
- TextWatcher的使用 ,实现一个显示剩余输入字数功能,分享工具类CalculateUtil
- 分享一个实用插件(页面滚动触发动画)以及其内部的所有动画属性值
- Android 分享一个SharedPreferences的工具类,方便保存数据
- 分享一个popupwindow工具类
- 分享一个php验证码程序 简单 实用
- 分享一个apk管理的工具类
- Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
- iOS实用技能之同一个String不同颜色的字
- 分享一个关于日期常用操作工具类