查找字符串中含有的数字的个数

Posted 紧紧抱住Mr.Li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找字符串中含有的数字的个数相关的知识,希望对你有一定的参考价值。

import java.util.Scanner;                   //可写import java.util.*; 导入java.util包
class Assignment1 {
    public static void main(String[] args) {
        int letter=0;                       //是字母
        int number=0;                       //是数字
        int other=0;                        //是其他字符
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入字符串:");
        String s=sc.nextLine();             //读取字符串,以回车为结束; sc.next()以空格、Tab、回车结束,所以不能读取空格
        //分析字符所属类型
        for(int i=0;i<s.length();i++)       //数组的length属性(.length),字符串的length方法(.length())
        {
            char x=s.charAt(i);             //返回指定索引处的char值
            //if(Character.isUpperCase(x)||Character.isLowerCase(x))是否为大写或小写字母
            if(Character.isLetter(x))       //是否为字母; Character.isAlphabetic()似乎用法类似,多了一种"OTHER_LETTER",存疑
            {
                letter++;
            }
            else if(Character.isDigit(x))   //是否为数字
            {
                number++;
            }
            else                            //其他字符
            {
                other++;
            }
        }
        //System.out.println("字母个数:"+letter);
        //System.out.println("数字个数:"+number);
        //System.out.println("其他字符个数:"+other);

        System.out.println("字母个数:"+letter+"\n数字个数:"+number+"\n其他字符个数:"+other);
                                            //记得在要连接的之间加上"+"
        sc.close();                         //关闭操作

split()+正则表达式来进行截取。 
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。

String str = "abc,12,3yy98,0";
String[]  strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
    System.out.println(strs[i].toString());
}

通过subString()方法来进行字符串截取。 
subString通过不同的参数来提供不同的截取方式 
2.1只传一个参数 
例如:

    String sb = "bbbdsajjds";
    sb.substring(2);


通过StringUtils提供的方法 
StringUtils.substringBefore(“dskeabcee”, “e”); 
/结果是:dsk
这里是以第一个”e”,为标准。

StringUtils.substringBeforeLast(“dskeabcee”, “e”) 
结果为:dskeabce 
这里以最后一个“e”为准

 

} }

  

以上是关于查找字符串中含有的数字的个数的主要内容,如果未能解决你的问题,请参考以下文章

如何利用oracle正则表达式去除字段中含有的汉字

华为机试:字符个数统计

华为OJ10字符个数统计

单向链表仿LinkedList

华为机试练习字符个数统计

从1到1000中,含数字1或2的自然数有多少个?