java从一个String提取出特定子字符串
来源:百度知道 编辑:UC知道 时间:2024/05/29 02:08:59
例如有代码:
<li>本网价:<span class=span1>¥42.70</span></li></ul><ul><li>市 场 价:<s>¥49.00</s></li><li>折 扣:88折<span class=span3> 节省:¥6.30</span></li>
我只需要提取出两个数字: 42.70和 49.00
怎样写代码操作
要注意数字的位数不固定,但是标签的总体结构固定
请给予正则表达式内容,谢
<li>本网价:<span class=span1>¥42.70</span></li></ul><ul><li>市 场 价:<s>¥49.00</s></li><li>折 扣:88折<span class=span3> 节省:¥6.30</span></li>
我只需要提取出两个数字: 42.70和 49.00
怎样写代码操作
要注意数字的位数不固定,但是标签的总体结构固定
请给予正则表达式内容,谢
以下是程序,自己运行一下吧。需要改成函数或类请自便。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test{
public static void main(String[] args){
String regex="<span class=span1>¥(\\d+[.]\\d+)</span>";
Pattern pattern=Pattern.compile(regex);
String input="<li>本网价:<span class=span1>¥42.70</span></li></ul><ul><li>市 场 价:<s>¥49.00</s></li><li>折 扣:88折<span class=span3> 节省:¥6.30</span></li>";
Matcher matcher=pattern.matcher(input);
// 找 42.70
while(matcher.find()){
System.out.println(matcher.group(1));
}
regex="<s>¥(\\d+[.]\\d+)</s>";
pattern=Pattern.compile(regex);
matcher=pattern.matcher(input);
// 找 49.00
while(matcher.find()){