我有文本文件。在這我想刪除重複的單詞。我的文本文件包含像如何使用java刪除重複的單詞
我刪除重複的單詞。但是結束'ப்','த்'的單詞被認爲是單獨的單詞,不能作爲重複單詞去除。如果我刪除'ப்','த்',它會從其他字詞中刪除,如பாப்பா,சத்தம்。請提前使用java.Thanks提出解決此問題的任何想法。
我有文本文件。在這我想刪除重複的單詞。我的文本文件包含像如何使用java刪除重複的單詞
我刪除重複的單詞。但是結束'ப்','த்'的單詞被認爲是單獨的單詞,不能作爲重複單詞去除。如果我刪除'ப்','த்',它會從其他字詞中刪除,如பாப்பா,சத்தம்。請提前使用java.Thanks提出解決此問題的任何想法。
我想我會用一個自定義comperator一個集(如TreeSet)。這樣你可以任何你喜歡的方式定義等於。
使用掃描儀中的每一行作爲一個字符串進行掃描成一組,然後寫入字符串在集合到一個文件中。
首先,你應該解釋一下你如何解析您的文件,因爲它似乎是你的tokenization沒有適當工作。然後,在我看來,明顯的建議,爲unduplication查詢是使用Set(甚至TreeSet),這要根據給定的規則contains確保您的元素的唯一性。
我不明白給定的語言(谷歌翻譯的猜測是泰米爾語),但是從我讀到的問題來看,對於用該語言編寫的單詞來說,「平等」有特殊的規則 - 就像文字可以相等他們的寫法不同(例如結尾不同)。
所以,你可能想包裝包含特殊對象的語言,你可以定義自定義的詞串「等於」方法,就像這樣:
public class TamilWord {
String writtenWord = null;
public TamilWord(String writtenWord) {
this.writtenWord = writtenWord;
}
public String getWrittenWord() {
return writtenWord;
}
@Overwrite
public boolean equals(Object other) {
// Define your custom rules here, so that two words that
// are written differently may be considered as equal
}
}
然後你就可以對所有分析創建TamilWord
對象串並將它們放入 a Set
。因此,如果我們有字abcd
和abcD
這是在寫作不同,但據認爲是平等的規則,只有其中的一個將被添加到組。
我不知道泰米爾人是不是......但是,也許表演某種詞幹?類似英語:已播放,正在播放將所有地圖播放到播放或類似的東西。 – 2010-07-19 12:27:38
我的方式來解決這個問題:通過詞
讀單詞,把它java.util.Set<TheWord>
。最後,你將有沒有重複的設置。你也應該定義TheWord
類:
class TheWord {
String word;
public TheWord() {}
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
public boolean equals(TheWord o) {
// put here your specific way to compare words
// taking into account your language rules and considerations
}
}
我能得到它的權利,(至少),有時話結束於「ப்」和「த்」相等? – 2010-07-19 09:32:09