如何在Java中计算@,#,+等符号的数量

时间:2019-07-28 13:32:49

标签: java string

我正在尝试编写代码以计算String中字母,字符,空格和符号的数量。但是我不知道如何计算符号。

java中是否有可用的此类功能?

3 个答案:

答案 0 :(得分:2)

这很大程度上取决于您对符号一词的定义

直接解决方案可能类似于

Set<Character> SYMBOLS = Set.of('@', ' ', ....
for (int i=0; i < someString.length(); i++} {
  if (SYMBOLS.contains(someString.charAt(i)) { 

迭代字符someString,并检查每个字符是否可以在该预定义符号集中找到。

或者,您可以使用正则表达式定义“符号”,或者可以依赖各种现有定义。当您检查Java的正则表达式Pattern语言时,可以找到

\w  A word character: [a-zA-Z_0-9]
\W  A non-word character: [^\w]

例如。以及其他各种快捷方式已经表示了这个或那个字符集。

答案 1 :(得分:0)

请发布您到目前为止的尝试

如果需要对单个字符进行计数-最好对字符串进行迭代,并使用映射图来跟踪字符及其计数

  

如果只需要下面的总数,则可以使用正则表达式

-f

答案 2 :(得分:0)

做到这一点的一种方法是只遍历String并将每个字符与其ASCII值进行比较

String str = "abcd!@#";
        for(int i=0;i<str.length();i++)
        {
            if(33==str.charAt(i))
                System.out.println("Found !");
        }

在此处查找ASCII值https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html