提取java字符串中的数字,再与SAP系统对接的过程中,有一个规格参数的字段,因为该字段是varchar类型的,所以那边传过来的数据可能就没有按照固定的数字规则来传,传过来的是一串字符串,后期我们用这个参数的时候,转换数字就转换类型错误,向SAP反馈,那边说,没法处理,无奈只能找了个方法进行二次处理
代码如下:
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* java提取出一个字符串里面的Double类型数字
*/
public class ExtractNumbers {
public static void main(String[] args) {
String str="金饰品86.3333克";
// 正则表达式
String regex="\\d+(?:\\.\\d+)?";
// 使用正则表达式解析
Matcher m= Pattern.compile(regex, Pattern.MULTILINE).matcher(str);
//获取一个String 中所有的数字放到集合中
// List<String> result=new ArrayList<String>();
// while(m.find()){
// result.add(m.group());
// }
// 获取第一个数字
if(m.find()){
System.out.println(m.group());
}
}
}
结果如下: