2016-04-06 5 views
0

мне нужно спросить кое-что, о моем problem.Try вообразить, что есть строка, как: «23221323,213213,123213 ,,,»Регулярное выражение для символов,

Я смотрел в несколько веб-сайтов, но я ничего не нахожу. Мне нужно регулярное выражение, о том, как удалить символ (,) ..

Я имею в виду, я хочу, чтобы удалить последний, если его больше, что 1:

Пример:

«2323,3434 , 2332" ==> его OK

«3434,21321,45454 ,,,, ==> BAD. вы должны удалить последнюю 3, только один финал допускается.

на самом деле у меня есть что-то в 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

Thats it, thanks buddy. Это именно то, что мне нужно: String s = "23221323,213213,123213 ,,,,,,,,,,"; \t \t s = s.replaceAll (", + $", ""); // заменяет все конечные запятые одним \t \t System.out.println (s); Ваша функция, но второй параметр должен быть пустым. действительно спасибо TheLostMind – Dekker

+0

Вам нужна одна запятая в конце справа? @Dekker .. Или вы хотите удалить все запятые в конце? – TheLostMind

+0

Все в порядке, у меня есть все, что мне нужно TheLostMind: это функция, которая мне нужна. Спасибо: String s = "23221323,213213,123213 ,,,,,,,,,,,,,"; \t \t s = s.replaceAll (", + $", ""); // заменяет все конечные запятые одним \t \t System.out.println (s); – Dekker