使用Java中的哈希映射中的值替换字符串值

时间:2016-10-18 04:09:04

标签: java string hashmap

我创建了一个哈希映射,其中包含我的键值对,用于将用户输入替换为与相应键对应的值。 对于exp,我有多个字符串,如

HashMap<String, String> vals = new HashMap<>();

vals.put("a", "123");
vals.put("b", "13");
vals.put("C__a_plus_b", "123");
vals.put("d", "1623");
vals.put("C__a_plus_b", "5");
vals.put("F__c_plus_d", "15");

我有一个包含像

这样的值的hashmap
String pattern = "a+b"; 
                123+13

String pattern =  "C__a_plus_b+d"
                    123+1623

现在我想用字符串替换字符串中的HashMap中的值,我希望我的输出像

Line 1: ATTCTGGA

Line 2: CGCCCGAATCCAGAACGCATTCCCATATTTCGGGACCACTGGCCTCCACGGTACGGACGTCAATCAAAT

1 个答案:

答案 0 :(得分:1)

使用Java 8流时,它应该是:

String result = String.join(
    "+",
    Arrays.asList(pattern.split("\\+"))
        .stream()
        .map((String s) -> vals.get(s))
        .collect(Collectors.toList())
);