我正在学习正则表达,因此问这个问题。我有一个字符串
字符串时间= 7 AM-9PM;
我需要添加空格,以便字符串像这样
时间=上午7点 - 晚上9点。
到目前为止,我已尝试过以下正则表达式
time.replaceAll("(\ d {1})"," $ 1");
它正在提供输出
上午9点至下午7点
现在我只需要前后的空间 - 。有人可以建议我还需要在正则表达式中添加什么来实现最终输出。
谢谢
答案 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