Nin*_*aNa 58 java string string-utils apache-stringutils
我有一个字符串,我想提取字符串中的(唯一)数字序列.
示例:helloThisIsA1234Sample.我想要1234
这是一个给定的数字序列只在字符串中出现一次但不在同一位置.
(对于那些会问的人,我有一个服务器名称,需要在其中提取一个特定的数字)
我想使用Apache commomns中的StringUtils类.
谢谢!
小智 125
使用此代码编号只包含您想要的输出.
String str="sdfvsdf68fsdfsf8999fsdf09";
String numberOnly= str.replaceAll("[^0-9]", "");
Run Code Online (Sandbox Code Playgroud)
Mic*_*vin 25
我总是喜欢使用Guava String utils或类似的问题来解决这些问题:
String theDigits = CharMatcher.inRange('0', '9').retainFrom("abc12 3def"); // 123
Run Code Online (Sandbox Code Playgroud)
rnr*_*ies 14
只需一行:
int value = Integer.parseInt(string.replaceAll("[^0-9]", ""));
Run Code Online (Sandbox Code Playgroud)
您还可以使用java.util.Scanner
:
new Scanner(str).useDelimiter("[^\\d]+").nextInt()
您可以使用next()
而不是nextInt()
将数字作为字符串.
您可以检查数的使用存在hasNextInt()
的Scanner
.
尝试这个 :
String s = "helloThisIsA1234Sample";
s = s.replaceAll("\\D+","");
Run Code Online (Sandbox Code Playgroud)
这意味着:用空字符串替换所有出现的数字字符 (0 -9)!