2016-11-08 2 views
0

私は1行ずつ検索して特定の文字列を探し、それに応じていくつかのアクションを取らなければならないhtmlファイルを持っています。 問題は、文字列がhtmlファイルの各行の行全体と一致していることです。 したがって、与えられた行の実際の文字列の前にスペースがある場合、一致が肯定であるにもかかわらず偽となります。javaを使用してhtmlファイルの文字列検索で空白を無視する方法はありますか?

package read_txt; 

import java.io.*; 
class FileRead 
{ 
public static void main(String args[]) 
{ 
    try{ 
    // Open the file that is the first 
    // command line parameter 
    FileInputStream fstream = new FileInputStream("textfile.html"); 
    // Get the object of DataInputStream 
    DataInputStream in = new DataInputStream(fstream); 
    BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
    String strLine; 
    //Read File Line By Line 
    while ((strLine = br.readLine()) != null) { 
     // Print the content on the console 
     //String a = "media query"; 
     switch (strLine) { 
     case "@media query" : 
      System.out.println("media query found"); 
      System.out.println("html file responsive"); 
      break; 
     // default : 
      // System.out.println("html file unresponsive"); 
      //break; 
     } 
    } 
    //Close the input stream 
    in.close(); 
    }catch (Exception e){//Catch exception if any 
     System.err.println("Error: " + e.getMessage()); 
    } 
} 
} 

私のコードでは、私は文字列 "メディアクエリ"を探しています。

enter image description here

コードこのHTMLファイルを正常に動作しますが、今私たちは、このhtmlファイルがあるとします:

enter image description here

文字列の一致はありませんが、今、これが検索されているhtmlファイルがされているとメディアクエリ文字列が存在しても動作しませんが、一致した文字列を "メディアクエリ"ではなく "メディアクエリ"に変更すると、再び動作します。 どのような行のテキストが表示される前に発生する空白のスペースを無視することができますか?

+1

'' String''の '' trim() ''メソッドを見てください... – f1sh

+0

ありがとうございます。それを見てください –

答えて

0

この場合、「スイッチ」の使用は適切な方法ではないと私は考えています。

あなたは

if (strLine.contains("media query")) 

を使用する場合がありますが、行は「メディアクエリー」(二つのスペースの代わりに、1)を持っている場合、それは失敗します。 正規表現を使用するのが最善でしょう。

+0

ありがとうございました:) はい、唯一の問題は、最初の空白スペース、スペルミスの確率、または 'メディア'と 'クエリ'の間の2つのスペースが非常に小さいことです –

0

あなたはendsWithを使用できます。

if (strLine.endsWith("media query")) { ... 

検索された文字列が途中にある場合、indexOfを使用することができます。

if (strLine.indexOf("medial quera") >= 0) { ... 
+0

トーマスありがとう、これは大きな助けになります私は、これらの検索をまとめてフェイル・セーフ・マッチングを得ることができます。 :) –

関連する問題