Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java replaceAll不工作_Java_Dictionary_Replaceall - Fatal编程技术网

Java replaceAll不工作

Java replaceAll不工作,java,dictionary,replaceall,Java,Dictionary,Replaceall,地图内容:键(#500-#509);还有价值观 for (Map.Entry<String, Double> entry : values.entrySet()) { if (line.contains(entry.getKey())) { line = line.replaceAll(entry.getKey(), String.valueOf(entry.getValue())); System.out.println(line); } } Or

地图内容:键(#500-#509);还有价值观

for (Map.Entry<String, Double> entry : values.entrySet()) {
    if (line.contains(entry.getKey())) {
    line = line.replaceAll(entry.getKey(), String.valueOf(entry.getValue()));
    System.out.println(line);
    }
}

Original string #102=[#503+0.9775*#508-0.9775*#503]
output string #102=[2.0+0.9775*#508-0.9775*2.0]
for(Map.Entry:values.entrySet()){
if(line.contains(entry.getKey())){
line=line.replaceAll(entry.getKey(),String.valueOf(entry.getValue());
系统输出打印项次(行);
}
}
原始字符串#102=[#503+0.9775*#508-0.9775*#503]
输出字符串#102=[2.0+0.9775*#508-0.9775*2.0]
“#508”未被替换,我做错了什么?

replaceAll()使用正则表达式替换字符串的一部分。请使用replace()进行尝试


请参见

使用与删除任何未捕获的空白。

可能是因为您在哪里有空白?如果使用
entry.getKey().trim()
,该怎么办?是否在if中中断/返回?因为所有的钥匙都必须更换。调试。另外,
replace
更安全,因为条目的顺序是任意的,#12->7可以将#123替换为73。您将在第一次替换后打印。您应该在循环完成后打印。我建议您提供一个-完整且可验证的。是的,是的,我是,谢谢,工作了很长一天,救了我。代码运行正常,问题应该已经被删除了。#508不包含任何在regexp中具有特殊意义的字符,所以这没有帮助。但这仍然是个好主意。我发现有趣的是,有多行这样的输出是这样的#102=[3.0+0.9775*#508-0.9775*3.0]#102=[3.0+0.9775*36.0-0.9775*3.0]第一行不替换第二行does@Cocos是的,所以我在回答时忽略了你的问题。。。这是一个奇怪的问题。嗨,克里斯,欢迎。StackOverflow(不应该)是一场回答问题的竞赛。请慢慢写一个答案,并说明它是如何解决问题的。因此,在本例中,请解释为什么未替换
#508
。标记代码并提供文档链接可能会为您赢得额外的声誉(如上所述,请单击“编辑”以查看更改内容)。