使用Replace方法在String中查找char的计数

时间:2015-10-13 08:32:46

标签: java string replace count char

String word = "abcdefg";
int a_counter = word.length() - word.replace("a", "").length();

此代码为我提供了'word'字符串中'a'的计数。但有人可以解释一下它的工作原理吗?(Java)

5 个答案:

答案 0 :(得分:1)

添加syso语句后,现在应该清楚。

word.length() - 实际长度为7 word.replace(“a”,“”) - 从字符串a中删除abcdefg,因此长度变为6返回长度为{{的新字符串对象 1}}

6

<强>输出

public static void main(String[] args) throws Exception {
        String word = "abcdefg";
        System.out.println(word.length());
        System.out.println(word.replace("a", "").length());
        int a_counter = word.length() - word.replace("a", "").length();
        System.out.println(a_counter);
    }

答案 1 :(得分:1)

word.length()为您提供字符串中所有字符的数量。 word.replace("a", "")从初始字符串中删除所有&#39;以及生成新字符串。两者的长度差异就是你的初始字符串中的&#39; a的数量...

答案 2 :(得分:0)

word.length() = 7且word.replace("a", "") = bcdefg,其长度为6,所以7-6 = 1

答案 3 :(得分:0)

初始字符串word

中的字符数
word.length()

通过从word

中删除所有出现的'a'来创建新的字符串
word.replace("a", "")

word中不是'a'的字符数。或者从word

中删除所有'a'后剩余的内容
word.replace("a", "").length()

word

中的'a'数字
word.length() - word.replace("a", "").length();

答案 4 :(得分:0)

_drafts

返回单词长度(谢谢Captain Obvious)。

word.length()

删除所有&#39; a&#39;后返回单词的长度。 随着&#34; abcdefg&#34;如你所说,你得到:

word.replace("a", "").length