如何使用正则表达式替换字符?

时间:2016-06-17 06:50:30

标签: java regex

如何更换字符' - '使用正则表达式?

我的json字符串中有一些日期或日期时间字段,它们都使用字符' /'作为分隔符,例如' 2016/10/10 10:10:10'
现在我需要这个表格的日期或日期时间字段' 2016-10-10 10:10:10'

例如:

{
 "code": "200",
 "error": "",
 "total": "10",
 "page": "1",
 "result": [
   {
     "CustomerNo": "0432215",
     "Name": "ACE-Dick/USA",
     "LastUpdatedDate": "2015/08/07 13:25:32",
     "LastUpdatedBy": "System"
   }
 ]
}

下面的文字是正确的json我想要的。

{
 "code": "200",
 "error": "",
 "total": "10",
 "page": "1",
 "result": [
   {
     "CustomerNo": "0432215",
     "Name": "ACE-Dick/USA",
     "LastUpdatedDate": "2015-08-07 13:25:32",
     "LastUpdatedBy": "System"
   }
 ]
}

我可以使用常规表达式找到日期字符串,如下所示,但如何替换呢?

  

\ d {4} / \ d {2} / \ d {2} \ d {2}:\ d {2}:\ d {2}

3 个答案:

答案 0 :(得分:1)

围绕您需要保留的值使用捕获组,并匹配您需要替换的值:

cabal install

并替换为(\d{4})/(\d{2})/(\d{2} \d{2}:\d{2}:\d{2}) ^ -1- ^ ^ -2- ^ ^ --------- 3---------- ^ ,其中$1-$2-$3是对第1组捕获的值的反向引用,$1引用第2组值等。

请参阅regex demo

Java demo

$2

有关capturing groups and backreferences here的更多信息,请参阅

答案 1 :(得分:1)

您可以进行分组和替换,语法会根据您使用的语言而有所不同。 对于分组,您可以使用(\ d {4})/(\ d {2})/(\ d {2} \ d {2}:\ d {2}:\ d {2}) 替换时只需使用$ 1,$ 2,$ 3来代替这些组。

答案 2 :(得分:0)

如果您将日期作为字符串,则可以使用replaceAll()

实施例

yourString.replaceAll("/", "-")