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

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

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

慕运维8079593 2023-04-26 16:19:33
我正在尝试编写一个代码来计算一个String. 但我不知道如何计算符号。java中有这样的功能吗?
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

这在很大程度上取决于您对术语symbol的定义。


一个直接的解决方案可能是这样的


Set<Character> SYMBOLS = Set.of('@', ' ', ....

for (int i=0; i < someString.length(); i++} {

  if (SYMBOLS.contains(someString.charAt(i)) { 

这会迭代 chars someString,并检查每个 char 是否可以在该预定义的 SYMBOLS 集中找到它。


或者,您可以使用正则表达式来定义“符号”,或者,您可以依赖各种现有定义。当您检查 regex Pattern language for java 时,您可以找到


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

\W  A non-word character: [^\w]

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


查看完整回答
反对 回复 2023-04-26
?
慕斯王

TA贡献1864条经验 获得超2个赞

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

如果您需要单个字符的计数 - 您最好迭代字符串并使用映射来跟踪字符及其计数

或者

如果总计数就足够了,您可以使用正则表达式,如下所示

while (matcher.find() ) {count++}


查看完整回答
反对 回复 2023-04-26
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

一种方法是遍历字符串并将每个字符与其 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


查看完整回答
反对 回复 2023-04-26
  • 3 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信