尝试使用正则表达式提取感兴趣的值。这样,您的代码就不会做出任何假设,而且如果之后出现完全不同的情况,代码也不会中断
value=...
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SplitString {
public static void main(String[] args){
String input = "<input type=\"hidden\" name=\"SYNCHRONIZER_TOKEN\" value=\"2f56248e-e54d-48ef-8c8c-6028d6f3d63f\" id=\"SYNCHRONIZER_TOKEN\" />\n";
Pattern pattern = Pattern.compile("value=\"[a-zA-Z0-9-]+\"");
Matcher matcher = pattern.matcher(input);
if (matcher.find()){
String keyValue = matcher.group(0);
String key = keyValue.split("=")[0];
String value = keyValue.split("=")[1];
System.out.println("KeyValue: " + keyValue);
System.out.println("Key: " + key);
System.out.println("Value: " + value);
}
}
}
输出如下所示
KeyValue: value="2f56248e-e54d-48ef-8c8c-6028d6f3d63f"
Key: value
Value: "2f56248e-e54d-48ef-8c8c-6028d6f3d63f"