从Java中的字符串中提取数字我有一个Java String对象。我只需从中提取数字。我举个例子:"123-456-789" 我想要 "123456789"是否有只提取数字的库函数?谢谢你的回答。在我尝试这些之前,我需要知道是否必须安装任何额外的llibraries?
3 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
这是一个更详细的解决方案。不太优雅,但可能更快:
public static String stripNonDigits(
final CharSequence input /* inspired by seh's comment */){
final StringBuilder sb = new StringBuilder(
input.length() /* also inspired by seh's comment */);
for(int i = 0; i < input.length(); i++){
final char c = input.charAt(i);
if(c > 47 && c < 58){
sb.append(c);
}
}
return sb.toString();}测试代码:
public static void main(final String[] args){
final String input = "0-123-abc-456-xyz-789";
final String result = stripNonDigits(input);
System.out.println(result);}输出:
0123456789
顺便说一句:我没有使用Character.isDigit(ch),因为它接受除0 - 9之外的许多其他字符。
慕斯王
TA贡献1864条经验 获得超2个赞
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();}添加回答
举报
0/150
提交
取消
