【发布时间】:2010-07-14 06:01:28
【问题描述】:
我正在寻找一种从字符串中提取最后一个字符的方法,无论大小。让我们以这些字符串为例:
"abcd: efg: 1006746"
"bhddy: nshhf36: 1006754"
"hfquv: nd: 5894254"
如您所见,完全随机的字符串,但最后有 7 个数字。我怎么能得到这 7 个数字?
编辑:
我刚刚意识到 String[] string = s.split(": "); 在这里会很好用,只要我为数字调用 string[2] 并为中间的任何内容调用 string[1]。
【问题讨论】:
-
您的问题和几个答案都提到了
String.split(),但值得注意的是s.split(": ")每次调用它时都会编译一个新的java.uitl.regex.Pattern,然后将您的字符串与该模式匹配,在返回的String[]之前创建一个正则表达式Matcher和一个ArrayList。它将相对较慢,并且会分配远远超过解决此问题所需的资源。这是否重要取决于您的应用程序的性质。我通常避免split(),除非我真的需要它。 (请注意,split()如果您拆分单个字符,不使用正则表达式。)