[英]How to append a Word after a certain word in java
我的属性文件中有此键值对
mailsubject = REDEX Application --- Credentials
mailtext = Dear User,\n \
Following Are the credentials for REDEX Mapping Application -- pwd
setFrom = xxxs31@gmail.com
这是我在Java文件中使用它们通过Java发送电子邮件的地方
try {
Message message = new MimeMessage(session);
message.setSubject(props_load.getProperty("mailsubject"));
message.setText(props_load.getProperty("mailtext") + " " +generatedpwd);
Transport.send(message);
result = "success";
} catch (MessagingException e) {
result = "fail";
logger.error("Exception Occured"+ "sendemalto" +sendemalto , e);
}
我的问题是
可以在单词后面插入用户名,以便看起来像
尊敬的用户Kiran,以下是REDEX映射应用程序的凭据
如何定义一个占位符并将其替换为您的用户名:
props_load.getProperty("mailtext").replace("{{username}}", username)
与您的模板是这样的:
mailtext = Dear User {{username}},\n ...
MessageFormat form = new MessageFormat("Dear {0}, following...");
String userName = "Kiran";
Object[] testArgs = {userName};
System.out.println( form.format(testArgs) );
输出:“亲爱的基兰,关注中……”
http://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html
使用String.replace(),String.replaceFirst()或String.replaceAll(),具体取决于您要执行的操作。
String.replace()将给定的文本替换为另一个文本。 因此,您可以执行以下操作:
"Dear User, Following are...".replace("User","User "+username);
或者,如果您需要更多控件,请使用String.replaceFirst()或String.replaceAll()以及正则表达式。 replaceFirst()仅替换第一个匹配项,而replaceAll()替换所有匹配项:
"Dear User, Following are...".replaceFirst("^Dear User"), "Dear User "+username);
正则表达式为您提供了更多控制权,但又复杂得多,因此您需要仔细阅读它才能正确使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.