我需要更換有說,例如 「8:00 AM - 5:00 PM」 字符串中的字符串 「8:00 AM ET - 5:00 PM ET」更換使用的replaceAll或模式匹配器
我曾嘗試下面的代碼,但它不工作...
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
請讓我知道爲什麼第一種方法沒有工作,如果有可能糾正第二種方法。