在编写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的工具类相关推荐

  1. 分享一个发送http请求的工具类

    分享一个发送http请求的工具类 maven依赖只需要导入一个 <dependencies><dependency><groupId>commons-httpcli ...

  2. android 网络图片工具类,分享一个Android图片模糊的工具类

    图片模糊,试过很多工具什么的,还是这个类比较好,直接用就好了 使用方法: imageView.setImageBitmap(BlurUtil.doBlur(drawable,10,15)); pack ...

  3. 基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil

    基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil,把日常能用到的各种CRUD都进行了简化封装,让普通程序员只需关注业务即可,因为非常简单,故直接贴源代码,大家若需使用可以直 ...

  4. java图片缩放工具类,一个JAVA图形缩放处置工具类

    一个JAVA图形缩放处理工具类 调用的例子 import java.io.FileOutputStream; import java.io.IOException; import javax.imag ...

  5. 分享万能java字符串编码转换工具类

    代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm 原文:分享万能java字符串编码转换工具类 package com.zuidaima ...

  6. 微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人

    微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人. 该工具类主要是对dozer进行了封装,使用过程代码量极少,废话少说,贴代码了 import j ...

  7. 微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人...

    微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人. 该工具类主要是对dozer进行了封装,使用过程代码量极少,废话少说,贴代码了 import j ...

  8. 12个实用又有趣的工具类网站,每一个都让人欲罢不能

    分享12个珍藏已久的实用的小网站,个个都是好玩又有趣,资源搜索.精美壁纸.地图生成器.智能抠图.免费影视等全部都包括在内,尤其是最后一个谁看了都想收藏起来! 1.超能搜 这也是一个资源搜索类网站,提供 ...

  9. 教学电子白板软件有哪些?分享一个实用工具

    教学用电子白板随着网课的实施,被越来越多的老师们所使用.其实不仅是学校,公司会议.团队方案拟定等场景也会出现它的身影.下面就给各位分享一个好用的电子白板软件,希望对你有所帮助. 在线白板相比传统教学模 ...

最新文章

  1. day17——其他内置函数
  2. Why Spring Boot
  3. python 数据库查询序列化_python-将sqlalchemy类序列化为json
  4. java高并发(二)并发与高并发基本概念
  5. Ubuntu switch window switch terminal tab
  6. echo回声不能用了_已懂得用电子分频器,为何不继续加个效果器让音响效果更好?...
  7. JDK1.8版本,java并发框架支持锁包括
  8. kafka 安装,使用教程
  9. PASCAL VOC 2012 and SBD (the augment dataset) 总结
  10. OSChina 周五乱弹 —— 奴家一时失手,官人休怪
  11. capslock键英语怎么读_capslock怎么读
  12. chrome浏览器无法打开网页怎么办
  13. 【Only one connection receive subscriber allowed with】
  14. K8S-5--云原生基础/k8s基础及组件/二进制部署k8s集群
  15. OpenGL 渐变色背景
  16. 华为路由器:ospf协议入门介绍
  17. STM32学习(一)
  18. 汉明码纠错java_汉明码纠错的基本原理及优化解决方案
  19. SAP现金管理(Cash Management)的常见问题
  20. 论文总结-交通预测(未完成)

热门文章

  1. 多活动练习--人品计算器
  2. 孟晚舟归国后首次亮相:一语道出华为真正价值!唯有努力才能赶上祖国变化...
  3. 钱包系统推荐维金_USDT钱包APP开发系统
  4. PHP生成随机颜色代码(加深颜色)
  5. QQ Music for Linux (x86) 野生QQ音乐linux版本
  6. 停车场服务器系统安装系统安装系统安装,停车场道闸系统施工安装流程要求规范.doc...
  7. hibernate访问mysql没有响应_Struts2+hibernate + mysql C3P0连接池 导致写数据库无反应(死机)...
  8. 切版练习笔记(三) - 制作人员介绍卡片
  9. CSS 中font样式
  10. 阿里云~简单发送短信