How to count number or each word in string
我试图找到字符串中每个单词的出现次数。
例如
这是我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | int count; count = 0; String text[] = new String[100]; String Temp[] = new String[100]; text = Text.getText().split("\\W"); Temp = Text.getText().split("\\W"); for (int j = 0; j < text.length; j++) { for (int i = 0; i < text.length; i++) { if (text[j].equals(Temp[i])) { count += 1; System.out.println(text[i] +"-" + count); } } } |
输入:
输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | me-1 me-2 me-3 me-4 me-5 me-6 me-7 me-8 me-9 me-10 me-11 me-12 me-13 me-14 me-15 me-16 |
您可以使用HashMap
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | HashMap<String, Integer> map = new HashMap<>(); String sentence ="My home, is my home".toLowerCase(); for(String word : sentence.split("\\W")) { if(word.isEmpty()) { continue; } if(map.containsKey(word)) { map.put(word, map.get(word)+1); } else { map.put(word, 1); } } for(Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() +":" + entry.getValue()); } |
输出:
1 2 3 | is: 1 my: 2 home: 2 |
看看这篇SO帖子。 在那里你会看到一些非常类似于你要求回答的东西。
你可以使用split()拆分String
1 2 |
所以如果输入是me.me.me.me. S [0] ="我",S [1] ="我"等。
然后你只需找到数组的长度,看看原始字符串中有多少个单词。
所以.....
1 2 |
你问的问题非常复杂,但我假设你试图"计算一个字符串中的单词数。
我还不能发表评论,因为我的代表正在开始。 但是,您已经有了一个可行的解决方案...这不是将解决方案发布到您自己的答案中以展示它的地方吗?