ファイルから行ごとに読み取っていて、その文字列に別の文字列が含まれているかどうかを確認したいので、String.contains
メソッドを使用しますが、常に false を返します。
チェックする単語が行の最初であるため、入力行を分割しようとしました(String.contains
またはを使用して)。String.equals
チェックしたい文字列は<now>
、行に含まれている場合でもfalseになることに気付いた分割を行っています。
奇妙なことに、文字列は正しく出力されますが、その長さは文字列よりも大きく<now>
(スペースがないことを確認するために置換を使用したとしても)、それが私の問題だと思います。ファイルのエンコーディングに依存すると思いますが、そうであれば解決策はありますか?
ファイルは別のプログラム (Praat) の出力であるため、別の方法で保存することはできません。
line = inFile2.nextLine();
String[] w = line.split("[\t\\s]");
String checking = w[0];
checking.replace(" ","");
checking.replace("/t","");
String st ="<now>";
System.out.println(!checking.equals(st)); //returns always true
System.out.println(st.length()); //returns 5
System.out.println(checking.length()); //returns 11
System.out.println(checking); //it prints <now> correctly
入力の文字列は次のようになります。<now> 236 62 elena information-relation