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

Java 如何删除字符串末尾的运行字符?,java,Java,假设我已经将一个像1302333200000000000这样的大数字解析为130233320,,,我如何递归删除运行逗号的子字符串以获得像130233320 递归算法似乎很简单,如: public String parseEnd(String s) { if(s.substring(s.length-1) == ",") { return s.substring(0, s.length-2); } return s; } 好了: str = str.replaceAll(

假设我已经将一个像
1302333200000000000
这样的大数字解析为
130233320,,,
我如何递归删除运行逗号的子字符串以获得像
130233320

递归算法似乎很简单,如:

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

str = str.replaceAll(",+$", "");
这将用空字符串替换结尾处的一个或多个

  • ,+
    匹配一个或多个
    逗号
  • $
    表示字符串的结尾
现在,有一件事我不明白,你是怎么从那个字符串中得到连续的逗号的?你不能直接用逗号替换所有的
000
?这将类似于:

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

@珍妮多。不客气:)也可以考虑使用我发布的第二个选项。最后一个正则表达式是怎么做的?假设我在表单中有一个唯一的ID,并且每个部分都有一些内容,除非它都是0。所以我只想去掉末尾的所有零,然后去掉尾随的0。在这种情况下,永远不要使用
==
操作符来比较strin。始终使用
equals
方法。