0

最初と最後(存在する場合)から「/」を削除して、入力文字列から文字列を抽出したいと思います。

例えば ​​:

入力文字列:/abcd 出力文字列:abcd

入力文字列:/abcd/ 出力文字列:abcd

入力文字列:abcd/ 出力文字列:abcd

入力文字列:abcd 出力文字列:abcd

入力文字列://abcd/ 出力文字列:/abcd

4

5 に答える 5

5
public static void main(String[] args) {
    String abcd1 = "/abcd/";
    String abcd2 = "/abcd";
    String abcd3 = "abcd/";
    String abcd4 = "abcd";
    System.out.println(abcd1.replaceAll("(^/)?(/$)?", ""));
    System.out.println(abcd2.replaceAll("(^/)?(/$)?", ""));
    System.out.println(abcd3.replaceAll("(^/)?(/$)?", ""));
    System.out.println(abcd4.replaceAll("(^/)?(/$)?", ""));
}

動作します。

最初に一致する(^/)?ということは、文字列の先頭で(/$)?0または1'/'に一致することを意味し、文字列の最後で0または1'/'に一致することを意味します。

"(^/*)?(/*$)?"複数の「/」の一致をサポートする正規表現を作成します。

String abcd5 = "//abcd///";
System.out.println(abcd1.replaceAll("(^/*)?(/*$)?", ""));
于 2013-01-10T09:32:24.483 に答える
0

正規表現のない方法:

String input  = "/hello world/";

int length = input.length(),
    from   = input.charAt(0) == '/' ? 1 : 0,
    to     = input.charAt(length - 1) == '/' ? length - 1 : length;

String output = input.substring(from, to);
于 2013-01-10T09:37:17.620 に答える
0

もう1つの推測:^\/|\/$正規表現を置き換えるため。

于 2013-01-10T09:37:25.830 に答える
-1

あなたが試すことができます

 String original="/abc/";
 original.replaceAll("/","");

次に、空白を避けるためにトリムを呼び出します。

original.trim();
于 2013-01-10T09:29:53.840 に答える
-2

これはうまくいくようです:

/?([a-zA-Z]+)/?

説明 :

/?:0回または1回の繰り返し

([a-zA-Z] +):アルファベットの文字をキャプチャし、1回以上繰り返します

/?:0回または1回の繰り返し

于 2013-01-10T09:31:16.560 に答える