java string截取两个字符串之间的值 假设有一个字符串String str = "abc<icon>def</icon>deftfh<icon>a</icon>";怎样可以取得<icon>与</icon>之间的字符串。取得的结果为def和a.求帮忙用java代码实现,谢谢。stringjava 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.util.regex.Matcher;import java.util.regex.Pattern;public class GetTag {public static void main(String[] args){ String str = "abc<icon>def</icon>deftfh<icon>a</icon>"; Pattern p=Pattern.compile("<icon>(\\w+)</icon>"); Matcher m=p.matcher(str); while(m.find()){ System.out.println(m.group(1)); } }} 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 = "abc<icon>def</icon>deftfh<icon>a</icon>"; System.out.println(Arrays.toString(MatcherTest.match(s).toArray( new String[0]))); }} 不好意思,我中间是一个图片的路径,用你那方法好像不行,因为\\w只匹配了单词。如“dfdds<icon>image/expressions/p24.gif</icon>你好<icon>image/expressions/p25.gif</icon>”,这要如何写正则表达式,谢谢。 不好意思,我中间是一个图片的路径,用你那方法好像不行,因为\\w只匹配了单词。如“dfdds<icon>image/expressions/p24.gif</icon>你好<icon>image/expressions/p25.gif</icon>”,这要如何写正则表达式,谢谢。 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]))); }} Matcher m=Pattern.compile("<icon>(.*?)</icon>").matcher(你的字符串);while(m.find()) System.out.println(m.group(1)); public class Demo{ public static void main(String[] args) { String str="abc<icon>def</icon>deftfh<icon>a</icon>"; String[] res=get(str); for(String re:res) { System.out.println(re); } } public static String[] get(String str) { int indexStart=0; StringBuilder sb=new StringBuilder(); while(indexStart<str.length()) { int index1=str.indexOf("<icon>", indexStart); int index2=str.indexOf("</icon>", indexStart); int length=index2-index1-6; for(int j=index1+6;j<=index1+6+length-1;j++) { sb.append(str.charAt(j)); } sb.append(","); indexStart=index2+7; } String[] result=sb.toString().split(","); return result; }} 您写的很好。希望您可以再帮我看看这个问题。谢谢。http://bbs.csdn.net/topics/390368717 您写的很好。希望您再帮我解决这个问题。谢谢http://bbs.csdn.net/topics/390368717 后天就要面试Java了,应该准备些啥呢? java开发用什么平台,软件好~~~ 怎么屏蔽实现类,只暴露接口出去 Java中如何调用DOS命令 关于重写的问题 this在類中的使用 求有向图中两点间的所有路径(有限几个点的路径以解决,要求在已知网络图中读入节点数据信息怎么办?) 这个程序输出结果为什么不对 applet 解析html 问题 jdk的编程环境 双色球代码出现null值 求大神现身相助 JTextPane实现指定位置插入文字和图片
import java.util.regex.Pattern;
public class GetTag {
public static void main(String[] args){
String str = "abc<icon>def</icon>deftfh<icon>a</icon>"; Pattern p=Pattern.compile("<icon>(\\w+)</icon>");
Matcher m=p.matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
}
}
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 = "abc<icon>def</icon>deftfh<icon>a</icon>";
System.out.println(Arrays.toString(MatcherTest.match(s).toArray(
new String[0])));
}}
如“dfdds<icon>image/expressions/p24.gif</icon>你好<icon>image/expressions/p25.gif</icon>”,这要如何写正则表达式,谢谢。
如“dfdds<icon>image/expressions/p24.gif</icon>你好<icon>image/expressions/p25.gif</icon>”,这要如何写正则表达式,谢谢。
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])));
}}
Matcher m=Pattern.compile("<icon>(.*?)</icon>").matcher(你的字符串);
while(m.find())
System.out.println(m.group(1));
{
public static void main(String[] args)
{
String str="abc<icon>def</icon>deftfh<icon>a</icon>";
String[] res=get(str);
for(String re:res)
{
System.out.println(re);
}
}
public static String[] get(String str)
{
int indexStart=0;
StringBuilder sb=new StringBuilder();
while(indexStart<str.length())
{
int index1=str.indexOf("<icon>", indexStart);
int index2=str.indexOf("</icon>", indexStart);
int length=index2-index1-6;
for(int j=index1+6;j<=index1+6+length-1;j++)
{
sb.append(str.charAt(j));
}
sb.append(",");
indexStart=index2+7;
}
String[] result=sb.toString().split(",");
return result;
}
}
http://bbs.csdn.net/topics/390368717
http://bbs.csdn.net/topics/390368717