【发布时间】:2017-01-23 10:21:14
【问题描述】:
我正在使用 Java 并尝试在 4 位数字的日期前设置逗号。示例:
普通字符串:
'El Burro' Van Rankin,Jorge,1964 年 6 月 5 日,空
我想要以下输出(在 1964 前面放置一个逗号):
'El Burro' Van Rankin,Jorge,5 June ,1964,NULL
这是我制作的正则表达式:
line = line.replaceAll("(\\d{4},)", ",\1"); //如果它找到一个 4 位数字后跟一个逗号,用逗号替换它,然后是组 1 (1964,)
如果我运行它,我会得到以下输出:
'El Burro' Van Rankin,Jorge,6 月 5 日,空
它删除了整个 1964 年。我做错了什么?
【问题讨论】:
-
你需要用
$定义反向引用:line.replaceAll("(\\d{4},)", ",$1")。也许replaceAll("\\b\\d{4},", ",$0")会更干净。 -
谢谢,效果很好;d
标签: java regex regex-group