输入
system.out.println(leetspeech(“柏林”,替换(“b=8,l=1”)));//=>8er1in
柏林的B和l换成了一个8和1。
我的方法看起来是这样的
public static String leetspeech(String s, Map<Character, String> replacings) {
String ret = "";
if (s.isEmpty() || replacings.isEmpty()) return ret;
for (int i =0; i<s.length();i++) {
// System.out.println(replacings.keySet().toString().toLowerCase());
if (replacings.containsKey(s.charAt(i))){
ret =s.replace(s.charAt(i),'_');
}
}
return ret;
}
但不行,有人能帮我吗?
将s
分配给ret
开始。在循环内部,替换ret
中的值,并将替换的字符串赋给ret
。
演示:
import java.util.Map;
public class Main {
public static void main(String[] args) {
System.out.println(leetspeech("Berlin", Map.of("B", 8, "i", 1)));
}
public static String leetspeech(String s, Map<String, Integer> map) {
String ret = s;
if (s.isEmpty() || map.isEmpty())
return ret;
for (int i = 0; i < s.length(); i++) {
String key = String.valueOf(s.charAt(i));
if (map.containsKey(key)) {
ret = ret.replace(key, String.valueOf(map.get(key)));
}
}
return ret;
}
}
输出:
8erl1n
假设我有一个,我想替换一个值映射,例如: 顺便说一下,字符串也可以是多个字符
我有一个类似“I have a{node1}”的字符串 如何将node1替换为另一个单词。 我想使用正则表达式,但我总是出错
我希望我的程序替换输入字符串中的每个元音。
想改进这个问题吗 通过编辑此帖子,添加详细信息并澄清问题。 https:www.google。com/;ParamName=项目;AccessKey=PDJKJDSJJKNEIOWEMCL/dsjdkhfjf=;值=xyz 在这里,我想用一些虚拟字符串替换值并返回整个字符串。 预期输出:<代码>https:www.google。com/;ParamName=项目;AccessKey=dummyVa
我有一个string和map 的列表,如果元素列表与map的关键元素匹配,我需要用map的值替换string的值。 如何使用Java8的map()/stream()等功能而不是forEach循环来完成同样的操作?我在list和map中有大量字符串元素,需要在最后一个字符串中动态替换这些元素。
假设我有一个字符串,如下所示: 我想把“abcd”换成“dddd”。我曾试图做这样的事: 它不起作用。有什么建议吗? 编辑:更具体地说,我在Java工作,我试图解析超文本标记语言文档,具体地说