[英]Counting Number of Word in Each Sentence
我有一个这种格式的文本文件:
Word index
Adam 0
likes 1
to 2
play 3
soccer 4
You 0
have 1
to 2
study 3
for 4
the 5
exam 6
我想计算每个句子中的单词数。 我创建了3个数组列表,其中一个用于单词索引,另一个用于计数句子中的标记,另一个用于保存每个句子的标记数。 我将上面的文件读入数组列表并执行以下操作:
(int f=0; f<OnlyWordIndex.size() ;f++){
if (!OnlyWordIndex.get(f).equals("0"))
{
NumberCounter1.add("1");
}
if (OnlyWordIndex.get(f).equals("0"))
{
NumberCounter1.add("1");
SentenceLegnth=NumberCounter1.size();
NumberCounter2.add(SentenceLegnth);
NumberCounter1.clear();
}
}
但是我想我要么丢失了一些东西,要么使问题复杂化。 因此,任何改进方面的帮助将不胜感激。 谢谢,
在这种情况下,使用映射而不是ArrayList似乎是合乎逻辑的,即使您可以通过两种方式实现。
使用地图:
Map<String,Integer> wordMap = putWordsInMap(File file);
public void countWords([whatever-input-you-want]) {
String sentence = [some-sentence];
String[] senSplit = sentence.split(" ");
for(String s : senSplit) {
if(wordMap.contains(s)) {
wordMap.put(s,new Integer(wordMap.get(s).intValue + 1));
}
}
}
如果您还想跟踪每个句子中有多少个单词,可以将其添加到现有代码中:
List<String> sentenceWords = new ArrayList<String>();
for(String s : senSplit) {
if(wordMap.contains(s)) {
wordMap.put(s,new Integer(wordMap.get(s).intValue + 1));
sentenceWordCount += 1;
}
sentenceWords.add(sentenceWordCount);
您也可以将句子字数实现为地图...这取决于解决方案背后的上下文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.