首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中获取字符串的最后一个字符,而不考虑字符串的大小

如何在Java中获取字符串的最后一个字符,而不考虑字符串的大小
EN

Stack Overflow用户
提问于 2010-07-14 14:01:28
回答 7查看 302.9K关注 0票数 86

我正在寻找一种从字符串中提取最后一个字符的方法,而不管字符串的大小。让我们以这些字符串为例:

代码语言:javascript
复制
"abcd: efg: 1006746"
"bhddy: nshhf36: 1006754"
"hfquv: nd: 5894254"

如你所见,完全随机的字符串,但它们的末尾有7个数字。我怎么才能取这7个数字呢?

编辑:

我刚刚意识到,只要我为数字调用string2,为中间的任何内容调用string1,String[] string = s.split(": ");在这里就会工作得很好。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-07-14 14:13:57

你可以做的事情有很多。

代码语言:javascript
复制
s.substring(s.lastIndexOf(':') + 1);

将获取最后一个冒号之后的所有内容。

代码语言:javascript
复制
s.substring(s.lastIndexOf(' ') + 1);

最后一个空格之后的所有内容。

代码语言:javascript
复制
String numbers[] = s.split("[^0-9]+");

分割所有的数字序列;numbers数组的最后一个元素可能就是您想要的。

票数 109
EN

Stack Overflow用户

发布于 2010-07-14 14:06:51

这样如何:

代码语言:javascript
复制
String numbers = text.substring(text.length() - 7);

当然,这是假设结尾有7个字符。如果你传给它"12345“,它会抛出异常。你可以这样解决这个问题:

代码语言:javascript
复制
String numbers = text.substring(Math.max(0, text.length() - 7));

代码语言:javascript
复制
String numbers = text.length() <= 7 ? text : text.substring(text.length() - 7);

请注意,这仍然不会验证结果字符串是否包含数字-如果text为null,它仍然会抛出异常。

票数 150
EN

Stack Overflow用户

发布于 2013-04-11 19:57:45

这段代码非常适合我:

代码语言:javascript
复制
String numbers = text.substring(Math.max(0, text.length() - 7));
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3243721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档