-2

次のような文があります。

Slno:0 ahdhajdhjahdjahjdhahd <>
Slno:1 ahdhajdhjahdjahjdhahd <>
Slno:2 ahdhajdhjahdjahjdhahd <>

最初の 5 つのチャーターを "Slno:x" (x は整数) として比較したいと思います。その条件が満たされた場合、残りの行を印刷したいと思います。最後の <> を削除すると、出力は次のようになります。

       ahdhajdhjahdjahjdhahd
       ahdhajdhjahdjahjdhahd
       ahdhajdhjahdjahjdhahd

私はやってみました:

すべての文字列に対して string1.charAt(1)=='S' の場合、string1[5] から最後まで出力されます。その条件が true の場合。より良いロジックを探しています

4

3 に答える 3

1

私があなたの要件を正しく理解しているなら、私はこれがうまくいくと思います。これを試してください:

 public static void main(string..args) {
String s1= "Slno:0 ahdhajdhjahdjahjdhahd <>";

    String[] sSplit = s1.split("\\s");
    String f[]= sSplit[0].split(":");
   ;
    if(f[0].equals("Slno") && checkInt(f[1])) {
        System.out.println(sSplit[1]);
    }



}
public static boolean checkInt(String i) {
    try {
    Integer.parseInt(i);
    return true;
    }
    catch(Exception ex){
        return false;
    }
}
于 2012-09-27T06:16:55.013 に答える
1

正規表現と部分文字列を使用できます..文の間にスペースを入れる場合: -

String s1 = "Slno:0 ahdhajdhjahdjahjdhahd <>";

if (s1.substring(0, 6).matches("Slno:\\d")) {
     System.out.println(s1.substring(7, s1.length() - 3));
}

出力: -

ahdhajdhjahdjahjdhahd
于 2012-09-27T06:48:36.163 に答える
0

あなたはこれを試すことができます、

例: "Slno:0 ahdhajdhjahdjahjdhahd <>"

splitメソッド設定区切り文字をスペースとして使用して、センテンスを 3 つの部分に分割します。

StringOne = "Slno:0"
StringTwo = "ahdhajdhjahdjahjdhahd"
StringThree = "<>"

入力を照合するには、contains メソッドを使用します。指定された入力が文字列の最初の部分と一致する場合、文字列の 2 番目の部分を出力します。

于 2012-09-27T06:24:59.653 に答える