繁体   English   中英

如何在Java中的某个单词之后附加单词

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM