社区
Java SE
帖子详情
如何用正则表达式分割字符串
slin
2006-11-10 10:29:07
String a="PartA PartB \"2006-11-13 8:00:00\" \"2006-11-13 9:30:00\" PartC"
请问如果写正则表达式进行分割出下面的数组出来:
PartA
PartB
"2006-11-13 8:00:00"
"2006-11-13 9:30:00"
PartC
也就是说凡是引号里面的空格就不进行分割了。
知道的朋友帮下忙,先谢谢了!
...全文
917
6
打赏
收藏
如何用正则表达式分割字符串
String a="PartA PartB \"2006-11-13 8:00:00\" \"2006-11-13 9:30:00\" PartC" 请问如果写正则表达式进行分割出下面的数组出来: PartA PartB "2006-11-13 8:00:00" "2006-11-13 9:30:00" PartC 也就是说凡是引号里面的空格就不进行分割了。 知道的朋友帮下忙,先谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
healer_kx
2006-11-11
打赏
举报
回复
格式明确的用字符串操作,正则比较慢.
wizardblue
2006-11-11
打赏
举报
回复
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Splitter {
public static void main(String[] args) {
String a="PartA PartB \"2006-11-13 8:00:00\" \"2006-11-13 9:30:00\" PartC";
split(a);
}
private static void split(String s) {
String regex = "[\"]{1}[^\"]*[\"]{1}|[\\S]+";
System.out.println(regex);
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher( s);
while(m.find()){
String ss = m.group();
System.out.println(ss);
}
}
}
wizardblue
2006-11-11
打赏
举报
回复
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Splitter {
public static void main(String[] args) {
String a="PartA PartB \"2006-11-13 8:00:00\" \"2006-11-13 9:30:00\" PartC";
split(a);
//T.show(splitV2(a));
}
private static void split(String s) {
String regex = "[\"]{1}[^\"]*[\"]{1}|[\\S]+";
System.out.println(regex);
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher( s);
while(m.find()){
String ss = m.group();
System.out.println(ss);
}
}
private static String[] splitV2(String s){
List resList = new ArrayList();
int posIndex = 0;
int[] pos = new int[2];
String temp = "";
for(int i=0;i<s.length();i++){
char c = s.charAt(i);
if(c==' '&&posIndex ==0){
if(!temp.equals("")){
resList.add(temp);
temp="";
}
continue;
}
if(c=='"'){
temp+=c;
pos[posIndex++]=i;
if(posIndex==2){
posIndex = 0;
resList.add(temp);
temp="";
}
continue;
}
temp+=c;
}
resList.add(temp);
return (String[])resList.toArray(new String[0]);
}
}
andycpp
2006-11-11
打赏
举报
回复
mark
mingxuan3000
2006-11-11
打赏
举报
回复
我要解析xml文件,不用java
的api,自己写一个,是不是用正则?
如:
<aa>
<bb>111
</bb>
</aa>
要取得getElementByTagName("bb"),是不是用正则匹配<bb></bb>中的内容,这个该怎么写?
要取得getElementByTagName("aa"),用正则匹配<aa></aa>中的内容
slin
2006-11-10
打赏
举报
回复
在线等待啊。。。
使用
正则表达式
拆分
字符串
使用
正则表达式
拆分
字符串
,程序完全可以运行,方便大家开发和调试
Oracle通过
正则表达式
分割
字符串
REGEXP_SUBSTR的代码详解
string :需要进行正则处理的
字符串
pattern :进行匹配的
正则表达式
position :起始位置,从第几个字符开始
正则表达式
匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大...
C#.net 使用
正则表达式
拆分
字符串
C#.net使用
正则表达式
拆分
字符串
提供的测试源码,直接使用
Python程序设计:
正则表达式
检索与替换.pptx
分割
的功能是使用
正则表达式
对
字符串
进行
分割
。
正则表达式
检索与替换
正则表达式
的匹配方法 match()尝试从
字符串
的起始位置匹配一个模式,匹配成功返回匹配的信息,如果不是起始位置匹配成功的话,match()就返回...
Python使用
正则表达式
分割
字符串
的实现方法
pattern:表示模式
字符串
,由要匹配的
正则表达式
转换而来。 string:表示要匹配的
字符串
。 maxsplit:可选参数,表示最大的拆分次数。 flags:可选参数表示标志位,用于控制匹配方式,如是否区分子母大小写 示例代码...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章