比如说,
String line = <a id="nu-f-106" class="user" href="/danger_dave;_ylt=A0wNB9TGuAVMrKAAwRjkRh54;_ylv=3">;我想得到这个子串/danger_dave,而这个子串是变化的,我要得到所有的这些字串,怎么实现,请教各位高手。
String line = <a id="nu-f-106" class="user" href="/danger_dave;_ylt=A0wNB9TGuAVMrKAAwRjkRh54;_ylv=3">;我想得到这个子串/danger_dave,而这个子串是变化的,我要得到所有的这些字串,怎么实现,请教各位高手。
或者用字符串匹配吧。
String str = line.substring(line.indexof("href=") + 1, indexof(";"));
String line = "<a id=\"nu-f-106\" class=\"user\" href=\"/danger_dave;_ylt=A0wNB9TGuAVMrKAAwRjkRh54;_ylv=3\">";
String regex = "href=\"([^\";]*);";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(line);
while(m.find()) {
System.out.println(m.group(1));
}
String line = "<a id=\"nu-f-106\" class=\"user\" href=\"/danger_dave;_ylt=A0wNB9TGuAVMrKAAwRjkRh54;_ylv=3\">"; String value = null; java.util.regex.Matcher m = java.util.regex.Pattern.compile("[^\";]*;").matcher(line); if (m.find()) { value = m.group(0); } System.out.println(value);
String line = "<a id='nu-f-106' class='user' href='/danger_dave;_ylt=A0wNB9TGuAVMrKAAwRjkRh54;_ylv=3'>";
String result = line.substring(line.indexOf("href='")+6,line.indexOf("'>"));
return result;
}
/**
比如说,
String line = <a id="nu-f-106" class="user" href="/danger_dave;_ylt=A0wNB9TGuAVMrKAAwRjkRh54;_ylv=3">;我想得到这个子串/danger_dave,而这个子串是变化的,我要得到所有的这些字串,怎么实现,请教各位高手。
*/import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test{
public static void main(String[] args){
String line = "<a id=\"nu-f-106\" class=\"user\" href=\"/danger_dave;_ylt=A0wNB9TGuAVMrKAAwRjkRh54;_ylv=3\">";
String key = "href";
String value = getValue(line,key);
System.out.println(value);
} public static String getValue(String line,String key){
String result = null;
String regex = key + "=\"([^;\"]*)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(line);
if(matcher.find()){
result = matcher.group(1);
} return result;
}
}