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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (10)

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

"abcd: efg: 1006746"
"bhddy: nshhf36: 1006754"
"hfquv: nd: 5894254"

正如你所看到的,完全随机的字符串,但最后有7个数字。我将如何能够采取这7个数字?

我只是意识到,String[] string = s.split(": ");只要我在数字和字符串[1]中为中间的任何事物调用string [2],在这里就会很好用。

提问于
用户回答回答于

很多事情你可以做。

s.substring(s.lastIndexOf(':') + 1);

会在最后一个冒号后得到一切。

s.substring(s.lastIndexOf(' ') + 1);

最后一个空间后的一切。

String numbers[] = s.split("[^0-9]+");

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

用户回答回答于

怎么样:

String numbers = text.substring(text.length() - 7);

这假定有 7个字符末,当然。如果你传递“12345”,它会抛出异常。你可以这样解决这个问题:

String numbers = text.substring(Math.max(0, text.length() - 7));

要么

String numbers = text.length() <= 7 ? text : text.substring(text.length() - 7);

请注意,这仍然没有进行任何验证,结果字符串包含数字 - 如果text为null ,它仍然会引发异常。

扫码关注云+社区