在编写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. PCB叠层及相关板材介绍
  2. margin为负值的几种情况
  3. Hue开发指南 - 提交 Spark 程序
  4. android内核读取file文件
  5. python循环小练习
  6. ie11兼容性问题,jsp在IE11显示不全问题,ie11覆盖内容问题解决方法
  7. linux安装桌面键盘,如何在 Linux 中使用屏幕键盘
  8. 加州大学洛杉矶计算机排名,加州大学洛杉矶分校计算机科学硕士排名第14(2020年TFE Times排名)...
  9. php分页函数怎么看样式,分页样式代码
  10. 计算机配置很不错但是卡,高手告诉你win10电脑明明配置很好却卡顿的详尽处理手法...
  11. 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?(递归与动态规划)
  12. STM32CubeIDE使用总结(三)——debug调试程序
  13. 小猪佩奇代码 Python
  14. Pikachu(皮卡丘)靶场搭建
  15. html description字数限制,description标签如何正确使用?
  16. 操作系统-消费者生产者代码C++Windows实现
  17. 华科计算机组成原理 头歌Educoder Logisim 运算器设计(HUST) 1~11关满分通关
  18. 畅游Python 二十一:Web框架 - Tornado
  19. WT588D使用记录
  20. 什么是以太坊?什么是智能合约?

热门文章

  1. 存储磁盘名称不同启动集群
  2. SXSSF导出:对比一下poi-3.17版本和poi-4.1.2(4.0以上)版本的改动
  3. 面试记录之上海某一家公司(包含面试官所提到的问题及回答)
  4. CodeIgniter框架解析
  5. 实测实量数据表格_实测实量测量表格(DOC)
  6. eNSP综合实例:防火墙配置GRE over IPSec VPN 网页版
  7. 雷达回波信号脉冲压缩处理(MATLAB)
  8. html编写四宫格展示图片,七彩色图片排版工具一键制作四宫格图片教程
  9. CE认证是什么,好处是什么?
  10. Ubuntu18.04 安装glibc2.29