0

是的,伙计们,这是一种家庭作业……但您的帮助将不胜感激……

抱歉之前的问题不完整..我是新手,所以请不要介意...

我有一个字符串,例如“你好吗”,我想比较的字符串是“是”。

现在的问题是找到“are”的出现,如果它显示为“aare”,它会被忽略,因为它完全变成了一个不同的词,如果它显示为“you a re”,它会被接受,因为'you ' 将被视为不同的模式,而 'a re' 将被视为另一种模式,如果它显示为“uare”,则会被拒绝,因为它形成了“特定模式,如空格词空格词......所以你也将成为”的一部分are',因此它应该被拒绝',如果它显示为“you are e”,则它被接受,“you are”也被接受。

  • “aare” 它被忽略
  • “you a re”它被接受
  • “uare”被拒绝
  • “你是”它被接受
  • “你是”也被接受

我尝试了以下代码:

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

检查这是否适合您。

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 回答
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 回答