1

String Eg から最後に出現した数字を削除したい:

  • "abc123"=>"abc"
  • "abc12xyz34"=>"abc12xyz"

それを抽出するためにスニペットの下に書かれています。これが正規表現で実行できるかどうかを調べたいだけです

private static  String getNumericTrimmedString(String s)
{

    for(int i = s.length()-1; i >=0 ; i--){
        final char c = s.charAt(i);
        if(!(c > 47 && c < 58)){
            return s.substring(0,i+1);
        }
    }
    return "";
}

よろしく、 ブリナル

4

3 に答える 3

6

次の正規表現を使用できます。

private static String getNumericTrimmedString(String s) {
    return s.replaceAll("\\d+$", "");
}

\\d+1 つ以上の数字
$が文字列の末尾であることを確認します

于 2013-07-23T11:34:16.257 に答える