gpt4 book ai didi

java - 如何使用正则表达式从字符串中提取数字

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:57 25 4
gpt4 key购买 nike

我想从字符串s中提取12345 Rial:

String regx= ".* (\\d*) Rial";
String s = "your balance is 12345 Rial your last"
Pattern pattern = Pattern.compile(regx);
Matcher matcher = pattern.matcher(s);
System.out.println(matcher.group(1));

但抛出以下异常

java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Unknown Source)
at ir.dena.avl.server.util.modbus.ChargeMessage.getBalanceFromIranCell(ChargeMessage.java:95)

谁能指出原因吗?

最佳答案

首先需要找到模式,然后才能使用它。您需要首先使用 Matcher 类中的 findmatches 方法来遍历字符串并获取匹配项。

所以使用

...
if (matcher.find())
System.out.println(matcher.group(1));

或者如果您想确保整个字符串与正则表达式匹配

...
if (matcher.matches())
System.out.println(matcher.group(1));

关于java - 如何使用正则表达式从字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24289304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com