例如:设计根据一些特殊分割规则,来分割字符串。QQ:123456789

当时没怎么考虑那么多情况,直接使用了String的split方法来进行分割。

分割字符串 str.split(regex[分割字符串的标识符]),如果字符串中没有统一的分割符,可以用“|”来定义多个分割符。

public class WordsSplit {

public static void main(String[] args) {

String word = "设计根据一些特殊分割规则,来分割字符串。QQ:123456789";

String[] ws = word.split(",|。");

System.out.println(ws[0]+"/n"+ws[1]+"/n"+ws[2]);

}

执行的结果:

设计根据一些特殊分割规则

来分割字符串

QQ:123456789

但是字符串含有特殊的字符如:SQL语句中的"("和")"再次使用上面的代码时就不行了。

如:Select * from emp where empid in (23,45);等。

这里就需要自己特殊的处理了。代码也是很简单,如下:

import java.util.*;

import org.apache.commons.lang.StringUtils;

public class WordsSplit {

public static void main(String[] args) {

String sql = "Select * from emr_clinicemr";

WordsSplit words = new WordsSplit(sql);

System.out.println(words.toString());

}

public WordsSplit(String sql) {

wordList = new ArrayList();

sql = sql.trim().toLowerCase();

sql = (new StringBuilder(String.valueOf(sql))).append(" ").toString();

String word = "";

for (int i = 0; i < sql.length(); i++) {

String str = String.valueOf(sql.charAt(i));

if (StringUtils.isBlank(str)) {

if (word.trim().length() >= 1) {

addWordToList(word);

word = "";

}

} else if (str.equals(",") || str.equals("(") || str.equals(")")) {

addWordToList(word);

addWordToList(str);

word = "";

} else {

word = (new StringBuilder(String.valueOf(word))).append(str)

.toString();

}

}

}

private void addWordToList(String word) {

if (word.trim().length() > 0)

wordList.add(word);

}

public String toString() {

StringBuilder sb = new StringBuilder();

String str;

for (Iterator iterator = wordList.iterator(); iterator.hasNext(); sb

.append((new StringBuilder(String.valueOf(str))).append("/n")

.toString()))

str = (String) iterator.next();

return sb.toString();

}

public List getWordList() {

return wordList;

}

private List wordList;

}

执行的结果:

select

*

from

emp

where

empid

in

(

23

,

45

)

;

java特殊字符分隔字符串_Java 根据一些特殊分割规则分割字符串相关推荐

  1. java颠倒字符串_Java经典实例:按字符颠倒字符串

    Openstack+Kubernetes+Docker微服务实践之路--服务发布 结合上文,我们的服务已经可以正常运行了,但它的访问方式只能通过服务器IP加上端口来访问,如何通过域名的方式来访问到我们 ...

  2. java输入字符数组_JAVA中怎样把用户输入的字符串存入数组中?

    展开全部 import java.util.Scanner; import java.util.InputMismatchException; public class saveInputToArr ...

  3. java class 字符串_java基础知识四 math类 字符 字符串 控制台输入输出 StringBuilder与StringBuffer...

    第四章:数学函数.字符和字符串 math类 Math是final类:在java.lang.Math中,所有数学函数都是静态方法 在一个java程序中,java.lang包中的所有类是隐式导入的. 三角 ...

  4. java文件中查找字符串_Java 在本地文件中查找固定字符串

    适用范围:只适用于在文本文档中查找(如,txt.java.c等等,并不适用与doc.xls等等这些文件),可嵌套文件夹.但是对中文不支持. 例如:文件夹:F:/demo 子文件夹:F:/demo/er ...

  5. java file 字符串_Java读取一个文本文件拼接成一个字符串(readFileToString)

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  6. java 正则 不包含字符串_java正则表达式找出不包含特定字符串

    看到有同学询问这个都好几天了还没解决,就摆渡了哈, 以下纯属copy, ======================================= 正则表达式中有前瞻(Lookahead)和后顾( ...

  7. java js 截取字符串_java和Js 按字节来截取字符串长度(为了符合数据库varchar)

    /** * 截取符合oracle varchar长度的字符集 * * @author 陈兵 * */ public class SplitString { public static String s ...

  8. java panel分隔线_java 如何在jpanel上画垂直线、水平线、平行线?

    展开全部 定义一个类继承JPanel类,重写 JPanel 的 paint 方法,使用 Graphics 绘制线段,如下代码:import java.awt.BorderLayout; import  ...

  9. java 读取txt字符串_java读取txt并获取某一部分字符串

    展开全部 public static String readFile(String filepath) { StringBuffer string=new StringBuffer(); Buffer ...

最新文章

  1. 阻碍GIS产业发展的三大问题
  2. python 鱼c工作室作业_鱼C工作室Python作业
  3. 从 DevOps 到 Serverless:通过“不用做”的方式解决“如何更高效做”的问题
  4. 使用绘图API自定义组件
  5. 张清:你hold住微博实名制吗?
  6. 日常生活中的法语积累2
  7. 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
  8. 网络安全系列之三十九 在Linux中配置访问控制列表ACL
  9. 服务器安装win7系统蓝屏,安装win7系统出现蓝屏| win7安装过程中蓝屏|安装win7系统时蓝屏...
  10. 深入理解 Tomcat(四)Tomcat 类加载器之为何违背双亲委派模型
  11. 基于scap的服务器安全基线核查设计与实现
  12. Android热修复核心原理介绍
  13. python插件安装包_Python的插件安装
  14. 安卓手机当电脑摄像头(DroidCam网盘及使用方法)
  15. python-patterns
  16. 苹果手机屏幕突然变暗_手机突然屏幕失灵
  17. Android Studio 2.0:速度提升,极大提高开发效率
  18. 百度搜索引擎接口测试报告
  19. 千亿级金融场景下,基于Pulsar的云原生消息队列有怎样的表现?
  20. vue格式化数字(已万、千万、亿结尾)

热门文章

  1. mac上的虚拟机Parallels Desktop的窗口突然不见,这样处理
  2. 镁客网每周硬科技领域投融资汇总(4.5-4.13),Boston Dynamics收购创企实现第一个商业化产品...
  3. 装修流程(初装者必看)
  4. 2022.9.17 vue、element-ui实现登录获取手机验证码,进行手机号校验、验证码CD60秒
  5. 简单的特效--css画圆圈
  6. 饿了么UI的表单验证,有输入东西,但是一直无法通过验证。
  7. 介绍自贡恐龙皮肤化石的发现
  8. linux获取token教程,一起聊-聊token认证
  9. 面向初学者的FFMPEG:处理、转换和流媒体视频的脚本
  10. 杀掉无法kill的进程