0

はい、みんな宿題のようなものです...でもあなたの助けはありがたいです。

前の不完全な質問でごめんなさい..私は新参者なので気にしないでください...

私は文字列を持っています、例えば、「あなたはどのようにあなたはあなたがいるのですか」そして私が比較したい文字列は「あります」です。

ここで問題となるのは、「are」の出現を見つけて、「aare」と表示された場合はまったく別の単語になるため無視され、「youare」と表示された場合は'youから受け入れられるようにすることです。 'は別のパターンと見なされ、' re'は別のパターンと見なされます。「uare」と表示された場合、「スペースワードスペースワードのような特定のパターンを形成するため、拒否されます...したがって、uも」の一部になります。であるため、拒否する必要があります。「あなたがいる」と表示された場合は受け入れられ、「あなたは」も受け入れられます。

  • 「あぁ」無視される
  • 「あなたは再」それは受け入れられます
  • 「うあれ」は拒否されます
  • 「あなたは」それは受け入れられます
  • 「あなたは」も受け入れられます

私は次のコードを試しました:

public class testPattern1 {

    public static void main(String args[])
    {
        String a="How aare yoar u a r e yo ar e";
        String compare="are";


        int i,temp=0;
        for(i=0;i<a.length();i++)
        {
            if (a.charAt(i)==compare.charAt(0))
            {
                temp=i;
                temp++;

                for(int d=temp;d<a.length();)
                {
                    while(a.charAt(temp)==' ')
                    {
                        temp++;
                    }

                    if(a.charAt(temp)==compare.charAt(1))
                    {
                        temp++;
                    }
                    else
                    {
                        break;
                    }
                    while(a.charAt(temp)==' ')
                    {
                        temp++;
                    }
                    if(a.charAt(temp)==compare.charAt(2))
                    {
                        System.out.println("matched at"+temp);
                    }
                    else
                    {
                        System.out.println("not matched at"+temp);
                    }

                }

            }


        }

    }

}

皆さんが質問を理解したことを願っています。

4

2 に答える 2

0
    String line = "How aare yoar u a r e yo ar e";
    String pattern="are";
    String arraySt[]= line.split("\\s+");
    for(String temp :arraySt)
        if(temp.equals(pattern))
            System.out.println("Found");
于 2012-12-05T06:49:49.960 に答える
0

これで問題ないか確認してください。

public static void main(String args[])
{
String line = "how aare you a re yo u a r e you ar e you a r e";

String [] occurence ={" are","a re","ar e","you a r e"};
int total = 0;
for(String occ:occurence){
     int size = (line.split(occ)).length;
     if(line.contains(occ) && !line.startsWith(occ) &&  !line.endsWith(occ)){
         size = size-1;  
     }else if(!line.contains(occ)){
         size = 0; 
     }
        System.out.println(occ+" "+ (size));
        total=total+size ;

}

System.out.println("Total Ocuurence "+total);


}
于 2012-12-05T07:50:06.443 に答える