-3

我正在使用 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 进行一些字符串操作,使用 then equals。

谢谢,抱歉之前没有更清楚。

4

2 回答 2

4

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

if (text1.equals(text2))

代替

if (text1.contains(text2))

如果那不是您所追求的,那么您的问题需要更清楚。

编辑(问题更新后):仍然不清楚您要做什么听起来您可能可以逃脱:

if (line.contains(" sda "))

因为这将匹配sda1。基本上,利用分区名称前后有一个空格,但分区名称不能有空格这一事实

于 2012-05-11T18:58:08.520 回答
0

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

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

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

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

玩得开心...

于 2012-05-11T20:52:02.670 回答