现有个字符串
0001#10#11#0001#20#41#0002#500#565#0003#2400#2402#0004#2000#2100#2103#0004#2000#2200#2206#0005#500#501#0006#A0000#A0400#A0401#0006#F0000#F0600#F0609#0006#V0000#V9900#0007#A0000#A0400#A0401#0007#A0000#A1700#A1706#0008#100#102要用split 拆分一个数组
元素是 a[0]='0001#10#11#' a[1]='0001#20#41#' 以0001 0002拆分最大是0010
这个正则怎么写呢 ?
0001#10#11#0001#20#41#0002#500#565#0003#2400#2402#0004#2000#2100#2103#0004#2000#2200#2206#0005#500#501#0006#A0000#A0400#A0401#0006#F0000#F0600#F0609#0006#V0000#V9900#0007#A0000#A0400#A0401#0007#A0000#A1700#A1706#0008#100#102要用split 拆分一个数组
元素是 a[0]='0001#10#11#' a[1]='0001#20#41#' 以0001 0002拆分最大是0010
这个正则怎么写呢 ?
解决方案 »
- 请问一个 getParentFile() 与 getParent() 区别 的问题!!
- servlet中返回的中文乱码
- 关于Java对象的反复引用导致内存溢出的问题
- 关于Integer.parseInt()的问提
- 为什么private的变量可以改变值呢,不是说private也只隐含的final吗
- 从书上打的程序 怎么编译都通不过呢 大家给看看吧
- PDF文件如何打开?
- 请问 哪位 大哥有 解析xml 完整的源码 万分感谢
- 我是java初学者,刚刚做了一个程序运行有误,恳请大家指点
- spring源码整入自己项目
- 在线等!!如何用jsp显示下拉列表框的内容
- 使用java poi操作excel表,如何将单元格的格式设置为百分比或数值等格式
String[] strs = str.split("(?<=#)(?=(000[0-9])|(0010))");
for(String s : strs) {
System.out.println(s);
}
String str = "0001#10#11#" +
"0001#20#41#" +
"0002#500#565#" +
"0003#2400#2402#" +
"0004#2000#2100#2103#" +
"0004#2000#2200#2206#" +
"0005#500#501#" +
"0006#A0000#A0400#A0401#" +
"0006#F0000#F0600#F0609#" +
"0006#V0000#V9900#" +
"0007#A0000#A0400#A0401#" +
"0007#A0000#A1700#A1706#" +
"0008#100#102#" +
"0010#4#0019#3#";
String[] strs = str.split("(?<=#)(?=(000[1-9]#)|(0010#))");
for(String s : strs) {
System.out.println(s);
}
}
hehe 刚才我还奇怪怎么结不帖子原来正好你回复了
String str = "0001#10#11#" +
"0001#20#41#" +
"0002#500#565#" +
"0003#2400#2402#" +
"0004#2000#2100#2103#" +
"0004#2000#2200#2206#" +
"0005#500#501#" +
"0006#A0000#A0400#A0401#" +
"0006#F0000#F0600#F0609#" +
"0006#V0000#V9900#" +
"0007#A0000#A0400#A0401#" +
"0007#A0000#A1700#A1706#" +
"0008#100#102#" +
"0010#4#0019#3#";如果我向 出来的是
"0001#11#" +
"0001#41#" +
"0002#565#" + 这样的就是 跟着0001的第一个数字不要 可以写正则吗?
String str = "0001#10#11#" +
"0001#20#41#" +
"0002#500#565#" +
"0003#2400#2402#" +
"0004#2000#2100#2103#" +
"0004#2000#2200#2206#" +
"0005#500#501#" +
"0006#A0000#A0400#A0401#" +
"0006#F0000#F0600#F0609#" +
"0006#V0000#V9900#" +
"0007#A0000#A0400#A0401#" +
"0007#A0000#A1700#A1706#" +
"0008#100#102#" +
"00019#4#0019#3#";
String[] strs = str.split("(?<=#)(?=(000[1-9]#)|(0010)#)");
for(int i=0; i<strs.length; i++) {
// 去掉第一组中的数字
strs[i] = strs[i].replaceAll("(\\d{4})(#)(\\d*)(#)", "$1$4");
// 去掉第一组中的数字或外文
//strs[i] = strs[i].replaceAll("(\\d{4})(#)(\\w*)(#)", "$1$4");
}
for(String s : strs) {
System.out.println(s);
}
}需要粘贴的话,要把两个全身空格替换成Tab或去掉,否则编译会出错。