为了账号安全,请及时绑定邮箱和手机立即绑定

从Java中的字符串中提取数字

从Java中的字符串中提取数字

人到中年有点甜 2019-08-01 16:17:03
从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之外的许多其他字符。


查看完整回答
反对 回复 2019-08-01
?
慕斯王

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();}


查看完整回答
反对 回复 2019-08-01
  • 3 回答
  • 0 关注
  • 1697 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号