Java String.contains:如何检查确切的字符串

时间:2012-05-11 18:56:26

标签: java string contains

我正在使用string.contains(“string”)来查找proc文件中的分区。行示例如下:

   8       0 sda 64154 32861 2927936 1462960 222942 512949 5776720 4355320 0 1029440 5818130
   8       1 sda1 29613 26082 1943594 1077290 23561 82884 851560 423330 0 235650 1500640

我有一个字符串数组。每一行都是数组的一个元素。由于某些元素没用,我在行中检查分区名称。如果一行具有现有分区的名称,则将对其进行解析。

这就是为什么我不能简单地使用string.equals;我可以检查该行是否包含然后使用indexOf进行一些字符串操作,然后使用equals。

谢谢,对不起以前不清楚。

2 个答案:

答案 0 :(得分:4)

这是否与您尝试检查两个字符串是否相等而不是包含检查一样简单?如果是这样,你只需要:

if (text1.equals(text2))

而不是

if (text1.contains(text2))

如果你所追求的是什么,你需要更清楚你的问题。

编辑(问题更新后):它仍然不是真的清楚你想要做什么。听起来你可能能够逃脱:

if (line.contains(" sda "))

因为匹配sda1。基本上,利用分区名称之前和之后有空格的事实,但分区名称中不能有

答案 1 :(得分:0)

我希望下面的代码段解决您的问题。基本上,您仍然可以使用equals函数,但也使用substring函数。在这种情况下,我从第二个角色开始。

String str1 = "1234567890";
String str2 = "0234567890";

if ( str1.substring(1).equals( str2.substring(1) )) {
    System.out.format("String %s matches", str1);
}

最后,我的信息是使用所有可用的功能来完成工作,而无需编写自己的代码。

玩得开心......