当前位置: 首页 > 知识库问答 >
问题:

替换字符串中值的映射

郑安晏
2023-03-14

假设我有一个字符串text=“abc”,我想替换一个值映射,例如:

a->b
b->c
c->a
map.entrySet().forEach(el -> text = text.replaceAll(el.getKey(), el.getValue()))

顺便说一下,字符串也可以是多个字符

共有1个答案

谷涵容
2023-03-14

我用java Streams提出了这个解决方案。

String text = "abc";
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("a", "b");
replaceMap.put("b", "c");
replaceMap.put("c", "a");

System.out.println("Text = " + text);

text = Arrays.stream(text.split("")).map(x -> {
    String replacement = replaceMap.get(x);
    if (replacement != null) {
        return x.replace(x, replacement);
    } else {
        return x;
    }
}).collect(Collectors.joining(""));

System.out.println("Processed Text = " + text);

输出

Text = abc
Processed Text = bca
 类似资料:
  • 问题内容: 我是Java编程的新手。我创建了一个包含我的键值对的哈希映射,可用于将用户输入替换为对应于各个键的值。 即 我在公式评估中使用它 注意 :为用户提供了特定公式的特定输入方式(值1 +值2 +值3) 我正在使用(value1 value2 value3)并将其转换为(value1key value2key value3key) 更新: 我现在更好地理解该问题旨在帮助更好地了解如何利用哈希

  • 问题内容: 我有一个用逗号分隔的产品列表,并且由于该项目列表已被新产品项目替换,因此我试图用新产品项目列表来修改此CSV列表。 我正在尝试使用split fn转换为行,然后替换这些值,然后再次将列转换为行。还有其他可能吗? 输出为: 问题答案: 将您的逗号分隔列表转换为XML。使用数字表XQuery和获取具有它们在字符串中的位置的单独ID。使用带有to和order by的技巧构建逗号分隔的字符串。

  • ______________________________________。 我让程序使用这段代码,但现在我需要设置while循环。这是我当前的代码。 字符串word=“”;扫描仪键盘=新扫描仪(System.in); 我的while循环如何描述这个输出?

  • 输入 system.out.println(leetspeech(“柏林”,替换(“b=8,l=1”)));//=>8er1in 柏林的B和l换成了一个8和1。 我的方法看起来是这样的 但不行,有人能帮我吗?

  • 本文向大家介绍替换Java字符串中的子字符串,包括了替换Java字符串中的子字符串的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的字符串。 我们想将子字符串“ Dead”替换为“ Alive”。为此,让我们使用以下逻辑。在这里,我们使用了while循环,并在其中找到了要替换的子字符串的索引。这样,我们一个接一个地替换了整个子字符串。 以下是替换子字符串的完整示例。 示例 输出结果

  • 问题内容: 我目前有一个包含字符A,B和C的字符串,例如,该字符串看起来像 其他不包含A,B或CI的随机变量想分别用“ A”,“ B”和“ C”替换A,B和C,这是我目前正在做的最好方法: 问题答案: 如果A,B和C是完全相同的单个字符,cletus的答案就可以正常工作,但是如果它们可以是更长的字符串,而您只是出于示例目的将它们称为A,B和C,则cletus的答案就可以。如果它们是更长的字符串,则