java string截取两个字符串之间的值
假设有一个字符串String str = "abc<icon>def</icon>deftfh<icon>a</icon>";
怎样可以取得<icon>与</icon>之间的字符串。取得的结果为def和a.求帮忙用java代码实现,谢谢。 string java
[解决办法]
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherTest {
public static List<String> match(String s) {
List<String> results = new ArrayList<String>();
Pattern p = Pattern.compile("<icon>([\\w/\\.]*)</icon>");
Matcher m = p.matcher(s);
while (!m.hitEnd() && m.find()) {
results.add(m.group(1));
}
return results;
}
/**
* @param args
*/
public static void main(String[] args) {
String s = "dfdds<icon>image/expressions/p24.gif</icon>你好<icon>image/expressions/p25.gif</icon>";
System.out.println(Arrays.toString(MatcherTest.match(s).toArray(
new String[0])));
}
}