我正在学习正则表达式,因此问这个问题。我有一串

字符串时间= 7 AM-9PM;

我需要添加空格,以便字符串像这样出来

时间= 7 AM-9 PM。

到目前为止,我已经尝试了以下正则表达式

time.replaceAll(“(\ d {1})”,“ $ 1”);

它正在输出

上午9点至下午7点

现在我只需要-之前和之后的空间。有人可以建议我需要在正则表达式中添加其他内容以实现最终输出。

谢谢

最佳答案

如果尝试使用7AM-10PM,您会发现10会像1 0一样被拆分:大概不是您想要的!

我设法做到了2个replaceAlls:

String time = "7AM-10PM"
System.out.println(time
  .replaceAll("([0-9]+)", "$1 ")   //spaces around numbers
  .replaceAll("([\\-])", " $1 ")); //spaces around '-'


结果:7 AM - 10 PM

08-07 22:46
查看更多