获取特定字符串之间的值 在一大段字符串中,我想查找<img出现的第一个位置,查找到之后判断img标签中是否有src的标签<img src="ds.jpg">,在判断在src=""双引号中的字符长度是否大于0,如果大于0就取到这个双引号之间的这个字符串!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String aString="asdasdasdasd<img src='' das>dasdasw2213<img src='123' das>"; String [] imgStrings=aString.split("<img"); String [] srcStrings=imgStrings[1].split("'"); if(srcStrings[1]!=null&&srcStrings[1].length()>0){ 取srcStrings[1]的值 } jQuery不行!!我必须在后台截取!2楼得不实用!!!在实际项目中不能用!!! 先取得第一个<img ...... />字符串,然后就是截取操作了。 用正则表达式写了一个,希望对你有用:import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestRegex { /** * @param args */ public static void main(String[] args) { String s = "asdfasdfa<img src = \"abc.jpg\" >asdfasdf <img src = \"xyz.jpg\" >asdfadsf"; Pattern p = Pattern.compile("<img\\s+src\\s*=\\s*\"\\w+[.]\\w+\"\\s*>"); Matcher m = p.matcher(s); m.find(); String result = m.group(); Pattern p2 = Pattern.compile("\".*\""); Matcher m2 = p2.matcher(result); m2.find(); String src = m2.group(); System.out.println(src.replace("\"", "")); }} 我将String s = "asdfasdfa<img src = \"abc.jpg\" >asdfasdf <img src = \"xyz.jpg\" >asdfadsf";改为String s = "asdfasdfa<img src = \"ff/abc.jpg\" >asdfasdf <img src = \"xyz.jpg\" >asdfadsf";就取不到http://www.xx.com/ff/abc.jpg而直接取到xyz.jpg这个值了!! 把这一句:Pattern p = Pattern.compile("<img\\s+src\\s*=\\s*\"\\w+[.]\\w+\"\\s*>");换成如下形式:Pattern p = Pattern.compile("<img\\s+src\\s*=\\s*\"[^<]+\"\\s*>");祝好运。 測試可行,試看看 public static void checkImgSrc(String url){ Matcher matcher = srcPattern.matcher(url); if(matcher.find()){ String src = matcher.group(1); if(src!=null && !src.isEmpty()){ matcher.group(1); }else { System.out.println("not src"); } } } public static Pattern srcPattern = Pattern.compile("<img[\\s]*src=[\"|']([\\S]*)[\"|']>"); public static void main(String[] args) { String src = "<img src=\"\">asdfasdf<img src=\"zxcvbxcvb\">"; checkImgSrc(src); } public static void checkImgSrc(String url){ Matcher matcher = srcPattern.matcher(url); if(matcher.find()){ String src = matcher.group(1); if(src!=null && !src.isEmpty()){ System.out.println(matcher.group(1)); }else { System.out.println("not src"); } } } public static Pattern srcPattern = Pattern.compile("<img[\\s]*src[\\s]*=[\\s]*[\"|']([\\S]*)[\"|'][\\s]*>"); public static void main(String[] args) { String src = "asdfasdfa<img src = \"abc.jpg\" >asdfasdf <img src = \"xyz.jpg\" >asdfadsf"; checkImgSrc(src); }這樣好點 valuelist的计算问题 JSP超链接出错显示空白页面!!!!望大家多来帮助!!!!! 用JbuilderX的Native executalbe builder打包成EXE的问题 请求对象与JS脚本 用SmartUpload上传的时候,在mySmartUpload.upload()老是过不去? 就一个问题100分 你一先后顺序.说一说 各位大侠,struts用什么编辑器最好呢,部署用什么服务器最好呢? java中字符串相加本质到底是怎样的? 新手求助struts初级问题 请问有基于java的电子商务网站吗 js在IE8正常,谷歌浏览器不行
String [] imgStrings=aString.split("<img");
String [] srcStrings=imgStrings[1].split("'");
if(srcStrings[1]!=null&&srcStrings[1].length()>0){
取srcStrings[1]的值
}
import java.util.regex.Pattern;public class TestRegex { /**
* @param args
*/
public static void main(String[] args) {
String s = "asdfasdfa<img src = \"abc.jpg\" >asdfasdf <img src = \"xyz.jpg\" >asdfadsf";
Pattern p = Pattern.compile("<img\\s+src\\s*=\\s*\"\\w+[.]\\w+\"\\s*>");
Matcher m = p.matcher(s);
m.find();
String result = m.group();
Pattern p2 = Pattern.compile("\".*\"");
Matcher m2 = p2.matcher(result);
m2.find();
String src = m2.group();
System.out.println(src.replace("\"", ""));
}
}
改为
String s = "asdfasdfa<img src = \"ff/abc.jpg\" >asdfasdf <img src = \"xyz.jpg\" >asdfadsf";
就取不到http://www.xx.com/ff/abc.jpg而直接取到xyz.jpg这个值了!!
换成如下形式:
Pattern p = Pattern.compile("<img\\s+src\\s*=\\s*\"[^<]+\"\\s*>");祝好运。
Matcher matcher = srcPattern.matcher(url);
if(matcher.find()){
String src = matcher.group(1);
if(src!=null && !src.isEmpty()){
matcher.group(1);
}else {
System.out.println("not src");
}
}
} public static Pattern srcPattern = Pattern.compile("<img[\\s]*src=[\"|']([\\S]*)[\"|']>");
public static void main(String[] args) {
String src = "<img src=\"\">asdfasdf<img src=\"zxcvbxcvb\">";
checkImgSrc(src);
}
Matcher matcher = srcPattern.matcher(url);
if(matcher.find()){
String src = matcher.group(1);
if(src!=null && !src.isEmpty()){
System.out.println(matcher.group(1));
}else {
System.out.println("not src");
}
}
} public static Pattern srcPattern = Pattern.compile("<img[\\s]*src[\\s]*=[\\s]*[\"|']([\\S]*)[\"|'][\\s]*>");
public static void main(String[] args) {
String src = "asdfasdfa<img src = \"abc.jpg\" >asdfasdf <img src = \"xyz.jpg\" >asdfadsf";
checkImgSrc(src);
}
這樣好點