我正在尝试编写代码以计算String
中字母,字符,空格和符号的数量。但是我不知道如何计算符号。
java中是否有可用的此类功能?
答案 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