首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请教怎么在字符串中提取指定信息

2012-01-29 
请问如何在字符串中提取指定信息?像这样一个字符串&ch1005&kind941,2323,8097&row20&ShowDate2&table

请问如何在字符串中提取指定信息?
像这样一个字符串
&ch=1005&kind=941,2323,8097&row=20&ShowDate=2&table=1&author=1&all= <url   >

想要提取出kind对应的几个值,值可以有很多个,甚至是没有值(就是没有kind这项)

而且kind出现的位置也不固定...

请问各位高人有什么好办法?用正则表达式的话要怎么做呢?


[解决办法]
用 "& "把字符串分割.
看哪个子字符串是以kind开头的.
[解决办法]
indexOf
[解决办法]
indexOf可以了。
[解决办法]
String str = "&ch=1005&kind=941,2323,8097&row=20&kind=2&table=1&author=1&kind= <url > ";
CharSequence inputStr = str.subSequence(0, str.length());
String patternStr = "&kind=([^&]+) ";

// Compile regular expression
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(inputStr);
while (matcher.find()) {
// Get the match result
String replaceStr = matcher.group();
replaceStr = replaceStr.replaceAll(patternStr, "$1 ");
System.out.println(replaceStr);
}

热点排行