我有一个Java字符串对象。我只需要从中提取数字。我举个例子:
123456-789我要123456789
是否存在只提取数字的库函数?
谢谢你的回答。在我尝试这些之前,我需要知道我是否必须安装任何额外的llibraries?
我有一个Java字符串对象。我只需要从中提取数字。我举个例子:
123456-789我要123456789
是否存在只提取数字的库函数?
谢谢你的回答。在我尝试这些之前,我需要知道我是否必须安装任何额外的llibraries?
当前回答
使用谷歌番石榴:
CharMatcher.DIGIT.retainFrom("123-456-789");
CharMatcher是可插拔的,使用起来非常有趣,例如,你可以做以下事情:
String input = "My phone number is 123-456-789!";
String output = CharMatcher.is('-').or(CharMatcher.DIGIT).retainFrom(input);
输出== 123-456-789
其他回答
使用Kotlin和Lambda表达式,你可以这样做:
val digitStr = str.filter { it.isDigit() }
你可以使用str.replaceAll("[^0-9]", "");
public class FindDigitFromString
{
public static void main(String[] args)
{
String s=" Hi How Are You 11 ";
String s1=s.replaceAll("[^0-9]+", "");
//*replacing all the value of string except digit by using "[^0-9]+" regex.*
System.out.println(s1);
}
}
输出:11
public String extractDigits(String src) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < src.length(); i++) {
char c = src.charAt(i);
if (Character.isDigit(c)) {
builder.append(c);
}
}
return builder.toString();
}
使用谷歌番石榴:
CharMatcher.DIGIT.retainFrom("123-456-789");
CharMatcher是可插拔的,使用起来非常有趣,例如,你可以做以下事情:
String input = "My phone number is 123-456-789!";
String output = CharMatcher.is('-').or(CharMatcher.DIGIT).retainFrom(input);
输出== 123-456-789