2017-10-13 8 views
1

としてのMatcher変数を格納したいです。例えば私は自分のアプリケーションが文字列として任意の一致を読みたい文字列

Scanner reader = new Scanner(System.in); 
    System.out.println("Problem 1: Create a heading using h1 tag"); 
    String input = reader.nextLine(); 
    Pattern regex = Pattern.compile("<[a-z][0-9]>"); 
    Matcher m = regex.matcher(input); 
    if(m.find()){ 
     String meme = m.group(0); 
     System.out.println(meme); 
     if(meme == "<h1>"){ 
      System.out.println("Found a string."); 
     } 
     else{ 
      System.out.println("No string found."); 
     } 
    } 
    else{ 
     System.out.println("No closing tag."); 
    } 

I
入力<..h1..>(無視ドット) が、出力は、私はミーム== <..h1..>を設定していても、常にNo string foundです。どのように私はそれを文字列に変換することができますか?

答えて

1

私はあなたのコードに問題がそれは問題が(meme == "<h1>")である

if(meme.equals("<h1>")) 
+0

をちょうど私が必要なもの!受け入れられました。 – Yupyep

2

である必要があり、このラインで

if(meme == "<h1>") 

だと思います。

等価演算子(==)は、値ではなく参照に基づいて比較するため、実際には2つの別々の文字列、つまりmeme"<h1>"を比較しています。代わりに、使用します。

if(meme.equals("<h1>")){ 
+0

ダーンそれカランは、あなたが...それにかかわらず助けるため – phlaxyr

+0

おかげで私を打ち負かします!もし私だけが2答え – Yupyep

+0

問題ありませんを受け入れることができます! :-D – phlaxyr

関連する問題