私はプログラムを稼働させようとしていましたが、実行されていましたが、すべての文字列に文字列配列の単語が含まれていると思われます。私は同じ列にビジネス名と人名が含まれているcsvファイルを試してみるためにopenCSVライブラリを使用しています。すべての会社名が2番目の列として表示され、すべての人名が表示されるようにしようとしています3番目の列。最初の列は単なる識別番号です。文字列に文字列配列の別の文字列が含まれているかどうかを正しく調べる方法は? - JAVA
for (String[] row : inputEntries)
{
for(int i = 0; i < dictionary.length; i++)
{
String rowEntry = row[1].toLowerCase();
String dictionaryTerm = dictionary[i].toLowerCase();
if(rowEntry.contains(dictionaryTerm))
{
String entries = row[0] + "," + row[1] + "," + "";
String[] output = entries.split(",");
writer.writeNext(output);
System.out.println(output + ": This contained a Dictionary word");
break;
}
else if (i == dictionary.length)
{
String entries = row[0] + "," + "" + "," + row[1];
String[] output = entries.split(",");
writer.writeNext(output);
System.out.println(output + ": This did not contain a Dictionary word");
break;
}
}
}
ことが意図された別のCSVに出力を行いますが、私がオリジナルと同じに見えるファイルを取得するように、すべてがビジネスの名前であることを考えているようです。このジレンマには、可能な解決策はありますか? contains関数を悪用していますか?
入力
"11111111","John Smith"
"11111112","Wells Fargo Bank"
"11111113","Company name LLC"
"11111114","John Connor"
出力
"11111111","","John Smith"
"11111112","Wells Fargo Bank",""
"11111113","Company name LLC",""
"11111114","","John Connor"
は、だから私はそれは私が望んで行うみかんために取得することができたが、問題はそれだけでチェックしているように見えるということです、それにはもう少し作業します辞書文字列の第1項のためのものである。
boolean match = false;
boolean nomatch = false;
int dicLength = dictionary.length;
for (String[] row : inputEntries)
{
for(int i = 0; i < dicLength; i++)
{
String rowEntry = row[1].toLowerCase();
String dictionaryTerm = dictionary[i].toLowerCase();
match = rowEntry.contains(dictionaryTerm);
if(match == true)
{
String entries = row[0] + "," + row[1] + "," + "";
String[] output = entries.split(",");
writer.writeNext(output);
System.out.println(output + ": This contained a Dictionary word");
match = false;
break;
}
if (i == (dicLength - 1))
{
nomatch = true;
}
if (nomatch == true)
{
String entries = row[0] + "," + "" + "," + row[1];
String[] output = entries.split(",");
writer.writeNext(output);
System.out.println(output + ": This did not contain a Dictionary word");
match = false;
break;
}
}
}
申し訳ありませんが私はこのサイトで私の最初の質問ので、私はもっと多くの情報を追加する必要がある場合は質問してください。 – derpaderp
いくつかのサンプル入力と期待される出力が役に立つでしょう – alejandrogiron
私は入力と予想される出力を追加しました。 :D – derpaderp