【问题标题】:How to remove leading zero's in between characters of a string [closed]如何删除字符串字符之间的前导零 [关闭]
【发布时间】:2020-10-30 04:47:53
【问题描述】:

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

这是我需要的:

删除[-: 之间的前导零

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

  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+(?!$)"

【问题讨论】:

  • @Jonathan 更新了问题,添加了更多描述的示例。

标签: java regex string replace


【解决方案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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2022-12-20
    • 2011-07-03
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多