我正在使用Java并尝试在4位数日期前设置逗号。例如:
普通字符串:
' El Burro' Van Rankin,Jorge,1964年6月5日,NULL
我想要以下输出(在1964年前放置一个逗号):
' El Burro' Van Rankin,Jorge,1964年6月5日,NULL
这是我制作的正则表达式:
NetDataContractSerializer
//如果找到一个4位数后跟一个逗号,则用逗号替换它,然后用组1(1964,)
如果我运行这个,我得到以下输出:
' El Burro' Van Rankin,Jorge,6月5日,NULL
它取消了整个1964年。我做错了什么?
答案 0 :(得分:1)
替换字符串中包含\1
,而它应为$1
。这是我能看到的唯一问题。
line.replaceAll("(\\d{4},)", ",$1")
或者如果你想要更整洁的东西,甚至可能是这样:
replaceAll("\\b\\d{4},", ",$0")