我有一個方法,假設在将其發送到客戶電子郵件之前替換部分 html 字元串。我曾嘗試使用java replaceAll() 方法但沒有成功。這是我到目前為止嘗試過的:data.replaceAll("dd%title%dd", "This is the Title");
data.replaceAll("dd%message%dd", "This is the message body");
但是當我嘗試這個時它不起作用,我一直在得到字元串而沒有被替換。這是我在雅虎郵件收件箱中收到的郵件圖檔:

我試過使用正規表達式來替換,但它沒有按我預期的那樣工作。
這是我現在所擁有的
private String msgTranslate(String subject, String messaging){
// HERE WE START CONSTRUCTING THE MESSAGE TRANSLATE
String content="";
String data="";
DjadeUtil util=new DjadeUtil();
// NOW LETS START PROCESSING
if(messaging!=null && subject!=null){
// Now lets read
try {
data=util.readByScanner(TEMPLATESOURCE);
// Now lets check
if(data.length()>0){
// Here we start matching to replace
StringBuffer sb = new StringBuffer(data.length());
Pattern patA = Pattern.compile("dd%title%dd");
Pattern patB = Pattern.compile("dd%message%dd");
Matcher mA = patA.matcher(data);
Matcher mB = patB.matcher(data);
while (mA.find()) {
mA.appendReplacement(sb, subject);
}// End of while loop
while (mB.find()) {
mB.appendReplacement(sb, messaging);
}// End of while loop
//HERE WE STORE NEW CHANGE
mA.appendTail(sb);
mB.appendTail(sb);
content=sb.toString();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// Here we return string
return content;
}
我想将“dd%title%dd”替換為“這是标題”,将“dd%message%dd”替換為“這是消息正文”。我不知道哪裡出錯了。任何幫助将不勝感激