java - 在java中从末尾提取子字符串到第一个字母

标签 java string substr

我有一串格式:A-2-Q4567

更多示例:AB-456-T12、A24-5-M12345 等

我想从这些字符串中提取最后的数值,分别是:4567、12、12345(这是从末尾到遇到第一个非数字字符的子串的数值)

我可以拆分字符串,从拆分的字符串数组中获取最后一个字符串,然后在从中删除非数字字符后执行 parseInt。

但是有没有更优雅的方法呢?

最佳答案

您可以使用此 regex:(\d+$)。它返回字符串中的最后一个数字序列。

编辑 - 一些解释:
\d 表示任何数字。
+ 表示前面的一个或多个符号。由于前面的符号是一个数字,那么\d+就是“一个或多个数字”的意思。
$ 表示字符串的结尾,因此 \d+$ 是字符串中的last 数字序列。

关于java - 在java中从末尾提取子字符串到第一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38293887/

相关文章:

string - Lua string.find 找不到一行中的最后一个单词

c# - 如何使用间距、制表符或填充来对齐列中的内容?

PHP substr 在某个char之后,substr + strpos的优雅解决方案?

PHP 如何在不破坏任何单词或 HTML 标签的情况下剪切字符串

javascript - LIST 的 itemTpl 上的 sencha touch::substr()

java - 无法在 Eclipse 中创建类型为 "JSF Managed Bean"的类。 JavaServer Faces 类别缺失

java - 为什么我的/src/main/resources 下的文件在执行时不可读?

java - 从 Math.cos() 输出值获取输入 float

java - 如何在java应用程序的context.xml中设置上下文路径

c# - 判断一个字符串是否大于另一个字符串