如何在java中的某个单词后面附加一个Word

时间:2015-07-27 11:02:54

标签: 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 Mapping Application的凭据

3 个答案:

答案 0 :(得分:4)

如何定义占位符并将其替换为您的用户名:

props_load.getProperty("mailtext").replace("{{username}}", username)

你的模板是这样的:

mailtext = Dear User {{username}},\n ...

答案 1 :(得分:1)

    MessageFormat form = new MessageFormat("Dear {0}, following...");

    String userName = "Kiran";
    Object[] testArgs = {userName};

    System.out.println( form.format(testArgs) );

输出:"亲爱的Kiran,关注......"

http://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html

答案 2 :(得分:0)

使用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);

正则表达式为您提供了更多控制权,但复杂性更高,因此您需要阅读它才能正确使用它。