如何删除字符串字符之间的前导零

时间:2020-10-30 04:47:53

标签: java regex string replace

我在字符串中有这样的日期,需要删除前导零。

这是我需要的:

删除[-:之间的前导零'

下面是一些示例和预期结果

  1. 20200831000000.000 [-05:EST]-> 20200831000000.000 [-5:EST]
  2. 20200831000000.000 [-08:30:EST]-> 20200831000000.000 [-8:30:EST]
  3. 20200831000000.000 [-10:EST]-> 20200831000000.000 [-10:EST]

由于我是正则表达式的新手,所以我无法弄清楚。我已经尝试了下面的方法,但是没有用

"0+(?!$)"

1 个答案:

答案 0 :(得分:1)

这将像您去过一样工作:

public static void main(String[] args) {
    String arr[] = {"20200831000000.000[-05:EST]","20200831000000.000[-08:30:EST]","20200831000000.000[-10:EST]"};
    for(int i=0; i < arr.length ; i++){
        arr[i] = arr[i].replaceAll("(?<=\\[-?)(0*)(?=.*\\])", "");
    }
    for(String s : arr){
        System.out.println(s);
    }
}

输出:

20200831000000.000[-5:EST]
20200831000000.000[-8:30:EST]
20200831000000.000[-10:EST]