我需要用“8:00 AM ET - 5:00 PM ET”替换一个字符串,例如“8:00 AM - 5:00 PM”
我已经尝试了以下代码,但它不起作用......
time.replaceAll("AM", "AM ET");
time.replaceAll("PM", "PM ET");
convertedTime = time;
System.out.println(convertedTime); // didnt get replaced
我尝试了以下方式并且它的工作但没有被正确更换,
Pattern p = Pattern.compile("(AM)");
Matcher m = p.matcher(time);
StringBuffer sb = new StringBuffer();
while(m.find()) {
m.appendReplacement(sb, "AM ET");
}
m.appendTail(sb);
p = Pattern.compile("(PM)");
m = p.matcher(time);
while(m.find()) {
m.appendReplacement(sb, "PM ET");
}
m.appendTail(sb);
System.out.println("sb: " + sb); // coming as sb: 8:00 AM ET - 5:00 PM8:00 AM - 5:00 PM ET
请让我知道为什么第一种方法不起作用,以及是否可以在第二种方法中更正。