Есть ли способ разделить строку и манипулировать ею в Java 8? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть требование изменить электронную почту во время выполнения в Java, добавив к ее имени текущее время.Я могу добиться этого следующим образом:

    LocalDateTime localDateTime = LocalDateTime.now();
    String email = "song25@gmail.com";
    String[] splitedEmail = email.split("@");
    String newUser = splitedEmail[0] + "-" + localDateTime;
    String newMail = newUser+"@"+splitedEmail[1];

Есть ли лучший способ, более чистый путь, более короткий путь, с использованием Java 8?используя лямбды или потоки?

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Вы можете использовать регулярное выражение:

    String myString = "hello@gmail.com";
    String str = "18_06_2019";
    System.out.println(myString.replaceAll("(\\w*)@", "$1"+str+"@"));
0 голосов
/ 18 июня 2019

То, что вы делаете, это уже голые и оптимальные. Вы можете попробовать использовать следующую однострочную строку:

LocalDateTime localDateTime = LocalDateTime.now();
String email = "song25@gmail.com";
String newMail = email.replace("@", "-" + localDateTime + "@");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...