Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- message.myMessage=This message is for ${name} in ${location}
- message.myMessage = This message is for {0} in {1}
- message.myMessage = This message is for {0} in {1}
- message.myNameMessage = This message is for {0}
- message.myLocationMessage = This message is for people in {1}
- message.myAlternateMessage = The message params are location: {1}; name: {0}
- message.myMessage = This message is for {0,,name} in {1,,location}
- message.myMessage=This message is for {name} in {location}.
- MessageFormatPattern:
- String
- MessageFormatPattern FormatElement String
- FormatElement:
- { ArgumentIndex }
- { ArgumentIndex , FormatType }
- { ArgumentIndex , FormatType , FormatStyle }
- public String format(String message, String... arguments) {
- for (String argument : arguments) {
- String[] keyValue = argument.split("=");
- if (keyValue.length != 2)
- throw new IllegalArgumentException("Incorrect argument: " + argument);
- String placeholder = "${" + keyValue[0] + "}";
- if (!message.contains(placeholder))
- throw new IllegalArgumentException(keyValue[0] + " does not exists.");
- while (message.contains(placeholder))
- message = message.replace(placeholder, keyValue[1]);
- }
- return message;
- }
- Properties messages = ...
- Map<String, String> m = new HashMap<>();
- m.put("name", "Mithu");
- m.put("location", "Dhaka");
- StrSubstitutor sub = new StrSubstitutor(m);
- String msg = sub.replace(messages.getProperty("message.myMessage"));
- // msg = This message is for Mithu in Dhaka
Add Comment
Please, Sign In to add comment