java从一个String提取出特定子字符串

2024-12-28 20:06:17
推荐回答(4个)
回答1:

以下是程序,自己运行一下吧。需要改成函数或类请自便。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test{
public static void main(String[] args){
String regex="¥(\\d+[.]\\d+)";
Pattern pattern=Pattern.compile(regex);

String input="

  • 本网价:¥42.70
    • 市 场 价:¥49.00
    • 折 扣:88折 节省:¥6.30
    • ";

      Matcher matcher=pattern.matcher(input);

      // 找 42.70
      while(matcher.find()){
      System.out.println(matcher.group(1));
      }

      regex="¥(\\d+[.]\\d+)";
      pattern=Pattern.compile(regex);

      matcher=pattern.matcher(input);
      // 找 49.00
      while(matcher.find()){
      System.out.println(matcher.group(1));
      }
      }
      }

    回答2:

    额```标签的总体结构固定了不是吗?

    那就取价格前标签的子结点的VALUE值啊

    这个取出来的就是你要的数字了也不存在什么位数 因为他把里面的值直接就给出来了

    不过你这个有个¥符号 你可以取到之后用subString去掉

    这个方法是基于DOM和JS的不知道楼主有学没
    此外以上说的是从网业中提取

    要是直接就是JAVA提取而不是一个网业文件

    那就直接找¥符号不就好 取¥和之间的部分

    回答3:

    要用到JSP的技术吧?貌似可以直接用Jsp中的一个东西来搞定

    回答4:

    建议用正则表达式提取