我正在使用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。
谢谢,对不起以前不清楚。
答案 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);
}
最后,我的信息是使用所有可用的功能来完成工作,而无需编写自己的代码。
玩得开心......