比较字符串方法

时间:2012-07-22 16:37:30

标签: java string

我想比较字符串,但以下代码不起作用。我猜这是因为不兼容,还有其他办法吗?谢谢!

 public class test
 {
    public static void main(String[] args)
    {
       String str1 = "abc def ghi abc ded abc ghi";
       String str2 = "ghi";
       int count = 0;

         String array[] = str1.split("\t");
         for(int i = 0; i < array.length; i++)
         {
           if(array[i].equals(str2))
           {
             count++;
             System.out.println(array[i]);  
             System.out.println(count);     
           } 

       }//for

      }//main

     }//test

4 个答案:

答案 0 :(得分:4)

您似乎在"\t"(标签)上拆分,但您的字符串" "(空格)已分隔。请尝试字符串array[] = str1.split(" ");

答案 1 :(得分:1)

请勿使用 "\t",而是使用" " 代替 .....

仅当您使用"\t" 而非空格时,

"tab"才有用。

立即尝试..

public class T
{
   public static void main(String[] args)
   {
      String str1 = "abc def ghi abc ded abc ghi";
      String str2 = "ghi";
      int count = 0;

        String array[] = str1.split(" ");
        for(int i = 0; i < array.length; i++)
        {
          if(array[i].equals(str2))
          {
            count++;
            System.out.println(array[i]);  
            System.out.println(count);     
          } 

      }//for

     }//main

    }//test

答案 2 :(得分:1)

String包含有助于找出项目出现的方法。 在你的情况下 str1.contains(STR2)

答案 3 :(得分:1)

如果您不想使用split,也可以使用StringTokenizer类。 http://docs.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html我发现这最有用。您可以为每个字符串创建一个StringTokenizer。

StringTokenizer st1 = new StringTokenizer(str1," ");

str1之后的“”表示要解析的内容。所以,如果你想用逗号,短划线,数字,字母,任何东西进行解析,就把它放在那里!

然后根据它找到的标记数创建一个数组:

String[] array1 = new String[st1.countTokens()];

像这样填充数组:

for(int i=0;i<st1.countTokens();i++)
{  
    array1[i]=st1.nextToken(); 
}

您可以使用str2类似地执行此操作,并以此方式进行比较!正如您所问,这只是一种不同的方式。否则,将“/ t”更改为“”将与其他答案中所述的拆分一起使用。

希望这有帮助!