String[]
特定の文字で構成される単語のみを含むを作成しようとしています。たとえば、次のような多くの単語を含む辞書があります。
腕 アーミー アート アズ アット アタック アテンプト 注意 アトラクション オーソリティ 自動 目覚め 赤ちゃん 背中 悪い バッグ バランス
リストを絞り込み、a
、b
、g
. したがって、この例では、リストには「バッグ」という単語のみを含める必要があります。現在、正規表現を使用してこれを実行しようとしていますが、動作させることができないように見える前に使用したことがありません。これが私のコードです:
public class LetterJugglingMain {
public static void main(String[] args) {
String dictFile = "/Users/simonrhillary/Desktop/Dictionary(3).txt";
fileReader fr = new fileReader();
fr.openFile(dictFile);
String[] dictionary = fr.fileToArray();
String regx = "able";
String[] newDict = createListOfValidWords(dictionary, regx);
printArray(newDict);
}
public static String[] createListOfValidWords(String[] d, String regex){
List<String> narrowed = new ArrayList<String>();
for(int i = 0; i<d.length; i++){
if(d[i].matches(regex)){
narrowed.add(d[i]);
System.out.println("added " + d[i]);
}
}
String[] narrowArray = narrowed.toArray(new String[0]);
return narrowArray;
}
ただし、文字列正規表現が正確な単語でない限り、返される配列は常に空です! 何か案は?必要に応じてさらにコードを投稿できます...正規表現を間違って初期化しようとしているに違いないと思います。絞り込まれたリストには、正規表現の文字のみを含める必要があります。