如何删除字符串末尾的运行字符?

时间:2013-02-14 23:09:32

标签: java

假设我已将130,233,320,000,000,000这样的大数字解析为130,233,320,,,我怎样才能递归删除正在运行的逗号的子字符串以获取类似130,233,320的输出

递归算法似乎很容易:

public String parseEnd(String s) {
  if(s.substring(s.length-1) == ",") {
     return s.substring(0, s.length-2);
  }
  return s;
}

1 个答案:

答案 0 :(得分:3)

你去了:

str = str.replaceAll(",+$", "");

这会在末尾用空字符串替换一个或多个,

  • ,+匹配1个或更多commas
  • $表示字符串的结尾。

现在,我不明白的一件事是,你是怎么从那个字符串中得到consecutive commas的?你不能直接用000替换所有comma吗?这将是:

str = str.replaceAll("(?:,0+)+$", "");