-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

文字列配列があります。各行は配列の要素です。一部の要素は役に立たないので、行のパーティション名を確認します。行に既存のパーティションの1つの名前がある場合、その行は解析されます。

そのため、string.equalsを単純に使用することはできません。行にが含まれているかどうかを確認してから、indexOfを使用して文字列操作を実行し、thenequalsを使用します。

よろしくお願いします。以前ははっきりしていなかったことをお詫びします。

4

2 に答える 2

4

これは、封じ込めチェックではなく、2つの文字列が等しいかどうかをチェックしようとするのと同じくらい簡単ですか?もしそうなら、あなたが必要とするのは:

if (text1.equals(text2))

それ以外の

if (text1.contains(text2))

それがあなたが求めているものではない場合、あなたはあなたの質問をより明確にする必要があります。

編集(質問の更新後):あなたが何をしようとしているのかはまだはっきりしていません。それはあなたが逃げることができるかもしれないように聞こえます:

if (line.contains(" sda "))

これは一致しないためsda1。基本的に、パーティション名の前後にスペースがあるという事実を利用しますが、パーティション名にスペースを含めることはできませ

于 2012-05-11T18:58:08.520 に答える
0

以下のコードスニペットがあなたの質問に対応することを願っています。基本的に、equals関数を使用できますが、substring関数も使用できます。この場合、私は2番目の文字から始めています。

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 に答える