关于java字符串问题

kanaun 2009-10-15 11:38:36
String a = "<a></a><a></a><a></a><a></a><a></a><KPRQ>2008-1-1</KPRQ><a></a><a></a><a></a><a></a><a></a><RKRQ>2009-10-11</RKRQ><a></a><a></a><a></a><a></a>";

<a></a>代表的其他数据是不定的,如何把<KPRQ></KPRQ>和<RKRQ></RKRQ>中的数据找出来
...全文
121 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿_布 2009-10-16
  • 打赏
  • 举报
回复

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class TestReplaceAll {

public static void main(String[] args) {
String s = " <a> </a> <a> </a> <a> </a> <a> </a> <a> </a> <KPRQ>2008-1-1 </KPRQ> <a> </a> <a> </a> " +
"<a> </a> <a> </a> <a> </a> <RKRQ>2009-10-11 </RKRQ> <a> </a> <a> </a> <a> </a> <a> </a>";
Matcher matcher = Pattern.compile("((?<=<KPRQ>)([^<]*)(?=</KPRQ>))|((?<=<RKRQ>)([^<]*)(?=</RKRQ>))").matcher(s);
while(matcher.find()){
System.out.println(matcher.group());
}
}
}
liangwansheng 2009-10-16
  • 打赏
  • 举报
回复
正则啊正则啊,你真难啊!!
syab1108 2009-10-16
  • 打赏
  • 举报
回复
学习了
xiaozhangnima 2009-10-16
  • 打赏
  • 举报
回复
学习正则
HelloAldis 2009-10-16
  • 打赏
  • 举报
回复
我最烦晕的正则表达式 看来我的多像牛人们学习
loveofmylife 2009-10-16
  • 打赏
  • 举报
回复
1L的正则改为
 Matcher matcher = Pattern.compile("((?<=<KPRQ>).*?(?=</KPRQ>))|((?<=<RKRQ>).*?(?=</RKRQ>))").matcher(s);
lk198186 2009-10-16
  • 打赏
  • 举报
回复
up
阿_布 2009-10-16
  • 打赏
  • 举报
回复
有多个KPRQ照样可以取出来,你可以试一下。
kanaun 2009-10-16
  • 打赏
  • 举报
回复
还有如果是多个KPRQ呢?谢谢
kanaun 2009-10-16
  • 打赏
  • 举报
回复
谢谢2楼的高手,可是我想一个一个取出来,没有什么方法么
capturesource 2009-10-16
  • 打赏
  • 举报
回复
indexOf + sunString 也可以吧?只是觉得有点土而已!

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧