2016-04-06 42 views
0

私はのような文字列を持っていることを、想像して私のproblem.Tryについて、あなたに何かを依頼する必要があります:私が探してきた「,,, 23221323,213213,123213」 文字の正規表現、

をいくつかのウェブサイトが、私は何も見つかりません。私は文字を(、)を削除する方法について、正規表現を必要とする。..

私が意味する、私はそのよりその1場合は、最後に削除する:

例:

「2323,3434 、2332" ==>そのOK

「3434,21321,45454 ,,,, ==> BAD。あなたは私が何かを持っている実際には、最後の3、唯一の1ファイナルが許可されている。

を削除する必要がありますjava、動作:

String sCadena="asd,"; 
      CharSequence cs1 = ",,"; 
      CharSequence cs2 = ",,,"; 
      CharSequence cs0 = ","; 

      if(sCadena.contains(cs2)){ 
       sCadena=sCadena.substring(0, sCadena.length() - 3); 
      } 


      else if (sCadena.contains(cs1)){ 
       sCadena=sCadena.substring(0, sCadena.length() - 2); 
      } 


      else if (sCadena.contains(cs0)){ 
       sCadena=sCadena.substring(0, sCadena.length() - 1); 
      } 



}  

しかし、ユーザーが(、)の多くを入力すると、私はこれを制御する場合は、よりを実装する必要があるため、私は、これを回避するために、正規表現を作りたい....

任意のアイデア?

+0

可能な複製(http://stackoverflow.com/questions/4736/learning-regular-expressions) – TocToc

+0

数字の後に最後のカンマが続きますか? – TheLostMind

+0

いいえ、それはありません。正規表現は不要なカンマを削除する必要があります。 – Dekker

答えて

1

これはあなたのために働く必要があります。

public static void main(String[] args) { 
    String s = "23221323,213213,123213,,,"; 
    s = s.replaceAll(",+$",","); // replaces all trailing commas with a single one 
    System.out.println(s); 
    } 

O/P:[正規表現を学ぶ]の

23221323,213213,123213、

+0

それはありがとう、おかげだよ。これはまさに私が必要なものです:String s = "23221323,213213,123213 ,,,,,,,,,,"; \t \t s = s.replaceAll( "、+ $"、 ""); //後続するすべてのコンマを単一のものに置き換えます。 \t \t System.out.println(s);あなたの機能は2番目のパラメータは空白にする必要があります。本当にありがとうTheLostMind – Dekker

+0

最後にカンマが1つ必要ですか? @Dekker ..または最後にすべてのカンマを削除したいですか? – TheLostMind

+0

それは大丈夫、私は必要なすべてを持っているTheLostMind:これは私が必要とする機能です。ありがとう:String s = "23221323,213213,123213 ,,,,,,,,,,,,,"; \t \t s = s.replaceAll( "、+ $"、 ""); //後続するすべてのコンマを単一のものに置き換えます。 \t \t System.out.println(s); – Dekker