正则表达式的字符,

时间:2016-04-06 14:43:39

标签: java

我需要问你一些关于我的问题的东西。试着想象一下,有一个像: “23221323,213213,123213 ,,,”

我一直在寻找几个网站,但我找不到任何东西。我需要一个关于如何删除字符(,)的正则表达式。

我的意思是,我想删除最后一个,如果它更多的是1:

示例:

“2323,3434,2332”==>好的

“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);
            }



}       

但我想制作一个正则表达式来避免这种情况,因为如果用户输入了很多(,),我必须实现更多,如果要控制它....

任何想法??

1 个答案:

答案 0 :(得分: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,