我正在使用Jsoup在网站上进行数据报废,我从服务器获得的响应位于
之下Prev. Close: 65.113
我的问题是是否可以仅提取 65.113 ??
我不能使用替换,因为文本可能会改变
答案 0 :(得分:4)
假设您有确切的格式
String input = "Prev. Close: 65.113";
String result = input.split(":")[1].trim();
会给你结果。
答案 1 :(得分:3)
您可以尝试使用正则表达式:
Pattern p = Pattern.compile("-?\\d+(\.\d+)?");
Matcher m = p.matcher("Prev. Close: 65.113");
while (m.find()) {
System.out.println(m.group());
}
答案 2 :(得分:0)
你可以尝试这个正则表达式:适用于所有负面情况
public static void main(String[] args) {
String s = "Prev. Close: 65.113";
System.out.println(s.replaceAll(".*?(\\d+(\\.\\d+)?).*", "$1"));
}
O / P:
65.113
答案 3 :(得分:0)
您可以使用正则表达式:
String str = "Prev. Close: 65.113";
Pattern p = Pattern.compile("-?\\d+(?:\\.\\d+)");
Matcher m = p.matcher(str);
if (m.find()) {
double val = Double.parseDouble(m.group(0));
}