Extraindo espaços reservados de corda

Etienne Poulin:

Eu tenho 2 cordas. Uma contém o "formato" e espaços reservados, enquanto o outro contém o valor real para os espaços reservados.

Por exemplo:

Cordas um: "<username> <password>"

Seqüência de dois: "myUser myPass"

Cordas um: "<name>, <familyName>"

Seqüência de dois: "John, Smith"

Eu estou tentando atribuir a variável String usernameo valor do espaço reservado nome de usuário na segunda corda, ea variável String passwordo valor do espaço reservado senha na segunda corda.

Eu sei sobre o String.replaceAll()método, mas que não iria apenas substituir a primeira corda pelo segundo?

Tim Biegeleisen:

Uma maneira potencialmente viável para abordar este seria manter um mapa de tokens e seus substitutos. Então, você pode interagir esse mapa e aplicar as substituições ao seu texto, algo como isto:

String text = "There is a user <username> who has a password <password>";
Map<String, String> tokens = new HashMap<>();
tokens.put("<username>", "myUser");
tokens.put("<password>", "myPass");

for (Map.Entry<String, String> entry : tokens.entrySet()) {
    text = text.replaceAll(entry.getKey(), entry.getValue());
}

System.out.println(text);

There is a user myUser who has a password myPass

programa demonstrativo

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=207101&siteId=1
Recomendado
Clasificación