我正在寻找一种从字符串中提取最后一个字符的方法,而不管字符串的大小。让我们以这些字符串为例:
"abcd: efg: 1006746"
"bhddy: nshhf36: 1006754"
"hfquv: nd: 5894254"
如你所见,完全随机的字符串,但它们的末尾有7个数字。我怎么才能取这7个数字呢?
编辑:
我刚刚意识到,只要我为数字调用string2,为中间的任何内容调用string1,String[] string = s.split(": ");
在这里就会工作得很好。
发布于 2010-07-14 14:13:57
你可以做的事情有很多。
s.substring(s.lastIndexOf(':') + 1);
将获取最后一个冒号之后的所有内容。
s.substring(s.lastIndexOf(' ') + 1);
最后一个空格之后的所有内容。
String numbers[] = s.split("[^0-9]+");
分割所有的数字序列;numbers数组的最后一个元素可能就是您想要的。
发布于 2010-07-14 14:06:51
这样如何:
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,它仍然会抛出异常。
发布于 2013-04-11 19:57:45
这段代码非常适合我:
String numbers = text.substring(Math.max(0, text.length() - 7));
https://stackoverflow.com/questions/3243721
复制相似问题