我从网页返回以下字符串
Order Number: 1509596 Customer Number: 8
但也可能是
Order ID 1509596 Customer 8
我想使用正则表达式,所以在我的方法中,我只是返回订单号,我在做
orderNumber.replaceAll("[^0-9]", "")
但这显然不起作用,因为我的订单号后面有一个8。有人能帮我怎么会只是订单号,因为我在注册前的垃圾!
字符串总是50个字符长,但顺序号是动态的,所以我不知道它会有多长,是否可以只返回字符串中的第一个数字?
3条答案
按热度按时间wwwo4jvm1#
使用匹配整个输入的正则表达式,捕获您想要的部分,然后替换捕获的所有内容以“提取”您想要的内容。
参见live demo。
正则表达式匹配所有前导的非数字(如果有的话),然后匹配下一个捕获组1所找到的数字,然后匹配到末尾。
$1
是捕获组1的 * 反向引用 *。ctrmrzij2#
我想不出一个单一的行,将完成这一点,但以下应该工作:
ctzwtxfj3#
如果更改
orderNumber.replaceAll("[^0-9]", "")
到
orderNumber.replaceAll("[^0-9]", ",")
因此你会得到
,1509596,8
作为答案,我想这大概是帮你解决的吧。