使用正则表达式在字符串之间添加空

时间:2015-10-05 14:57:34

标签: java regex

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

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

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

时间=上午7点 - 晚上9点。

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

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

它正在提供输出

上午9点至下午7点

现在我只需要前后的空间 - 。有人可以建议我还需要在正则表达式中添加什么来实现最终输出。

谢谢

1 个答案:

答案 0 :(得分:2)

如果您尝试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