2016-09-27 12 views
0

URLの末尾にあるすべてのスラッシュを削除する必要があります。最後にスラッシュがいくつあるかわかりません。最後URLの末尾にあるスラッシュをすべて削除する簡単な方法

http://www.example.com/user 

でslasheを除去した後の例

http://www.example.com/user// 

ため

はそれを行うには、正規表現のような任意の簡単な方法があります。

+0

文字列の最後から反復処理を開始して、ダッシュを解除するまでダッシュをすべて削除することができます。 – Zarwan

+0

はい、文字列の最後からすべてのスラッシュを取り除くことができます。しかし、私は正規表現のような簡単な方法を使いたいです。 –

+0

@RichardChan - あなたの質問に常に試したことを示してください。 – TheLostMind

答えて

4

使用String.replaceAll ("\\/$", "");

$は、それが複数のスラッシュ

使用String.replaceAll ("/+$", "");

+0

FYI: '/'は特別な正規表現のメタ文字ではありません。エスケープする必要はありません。また、 'replaceFirst'は1つの文字列の終わりがあるため、より論理的です。そして、1つ以上の出現にマッチするために、 '+'量子を使うことができます。 –

+0

Javaでregexを使ったことがありますか?あなたの答え - 'replaceAll(" \\/$ "、") 'と' replaceAll( "\\ +/$"、 "") ' - は間違っています。 –

+0

最初に置き換えても正しいとは思われません。文字列の間にスラッシュがある場合はどうなりますか? –

0

は2つの方法がありますを削除するには、@WiktorStribiżewあたりとして文字列

の最後であることを意味します使用してパターンマッチング(わずかに遅い):

s = s.replaceAll("/$", "");またはurl.replaceFirst("/*$", "");または

s = s.replaceAll("/\\z", ""); 

そして、usingステートメント(若干速い)場合:

if (s.endsWith("/")) { 
    s = s.substring(0, s.length() - 1); 
} 

またはビット醜いは:

s = s.substring(0, s.length() - (s.endsWith("/") ? 1 : 0)); 

あなたがいるので、S = Sでを使用する必要がありますのでご注意ください文字列は不変です。

関連する問題