java特殊字符分隔字符串_Java 根据一些特殊分割规则分割字符串
例如:设计根据一些特殊分割规则,来分割字符串。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 根据一些特殊分割规则分割字符串相关推荐
- java颠倒字符串_Java经典实例:按字符颠倒字符串
Openstack+Kubernetes+Docker微服务实践之路--服务发布 结合上文,我们的服务已经可以正常运行了,但它的访问方式只能通过服务器IP加上端口来访问,如何通过域名的方式来访问到我们 ...
- java输入字符数组_JAVA中怎样把用户输入的字符串存入数组中?
展开全部 import java.util.Scanner; import java.util.InputMismatchException; public class saveInputToArr ...
- java class 字符串_java基础知识四 math类 字符 字符串 控制台输入输出 StringBuilder与StringBuffer...
第四章:数学函数.字符和字符串 math类 Math是final类:在java.lang.Math中,所有数学函数都是静态方法 在一个java程序中,java.lang包中的所有类是隐式导入的. 三角 ...
- java文件中查找字符串_Java 在本地文件中查找固定字符串
适用范围:只适用于在文本文档中查找(如,txt.java.c等等,并不适用与doc.xls等等这些文件),可嵌套文件夹.但是对中文不支持. 例如:文件夹:F:/demo 子文件夹:F:/demo/er ...
- java file 字符串_Java读取一个文本文件拼接成一个字符串(readFileToString)
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- java 正则 不包含字符串_java正则表达式找出不包含特定字符串
看到有同学询问这个都好几天了还没解决,就摆渡了哈, 以下纯属copy, ======================================= 正则表达式中有前瞻(Lookahead)和后顾( ...
- java js 截取字符串_java和Js 按字节来截取字符串长度(为了符合数据库varchar)
/** * 截取符合oracle varchar长度的字符集 * * @author 陈兵 * */ public class SplitString { public static String s ...
- java panel分隔线_java 如何在jpanel上画垂直线、水平线、平行线?
展开全部 定义一个类继承JPanel类,重写 JPanel 的 paint 方法,使用 Graphics 绘制线段,如下代码:import java.awt.BorderLayout; import ...
- java 读取txt字符串_java读取txt并获取某一部分字符串
展开全部 public static String readFile(String filepath) { StringBuffer string=new StringBuffer(); Buffer ...
最新文章
- 阻碍GIS产业发展的三大问题
- python 鱼c工作室作业_鱼C工作室Python作业
- 从 DevOps 到 Serverless:通过“不用做”的方式解决“如何更高效做”的问题
- 使用绘图API自定义组件
- 张清:你hold住微博实名制吗?
- 日常生活中的法语积累2
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
- 网络安全系列之三十九 在Linux中配置访问控制列表ACL
- 服务器安装win7系统蓝屏,安装win7系统出现蓝屏| win7安装过程中蓝屏|安装win7系统时蓝屏...
- 深入理解 Tomcat(四)Tomcat 类加载器之为何违背双亲委派模型
- 基于scap的服务器安全基线核查设计与实现
- Android热修复核心原理介绍
- python插件安装包_Python的插件安装
- 安卓手机当电脑摄像头(DroidCam网盘及使用方法)
- python-patterns
- 苹果手机屏幕突然变暗_手机突然屏幕失灵
- Android Studio 2.0:速度提升,极大提高开发效率
- 百度搜索引擎接口测试报告
- 千亿级金融场景下,基于Pulsar的云原生消息队列有怎样的表现?
- vue格式化数字(已万、千万、亿结尾)
热门文章
- mac上的虚拟机Parallels Desktop的窗口突然不见,这样处理
- 镁客网每周硬科技领域投融资汇总(4.5-4.13),Boston Dynamics收购创企实现第一个商业化产品...
- 装修流程(初装者必看)
- 2022.9.17 vue、element-ui实现登录获取手机验证码,进行手机号校验、验证码CD60秒
- 简单的特效--css画圆圈
- 饿了么UI的表单验证,有输入东西,但是一直无法通过验证。
- 介绍自贡恐龙皮肤化石的发现
- linux获取token教程,一起聊-聊token认证
- 面向初学者的FFMPEG:处理、转换和流媒体视频的脚本
- 杀掉无法kill的进程