Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 str.replace不替换char_Java_String_Replace - Fatal编程技术网

Java str.replace不替换char

Java str.replace不替换char,java,string,replace,Java,String,Replace,我是java的初学者,正在尝试构建自己的天气应用程序。 当获得温度时,输出为 /?4° 或 现在我只需要得到温度(4°或-4°)。我怎样才能做到这一点? 我已经试过了 str.replace('?',' ') 但那没用。我的问题 str.replaceAll('\\D', ' ') 也就是说,它还删除了-符号。我希望您能帮助我。您可以调整您的正则表达式并使用: str = str.replaceAll('[^\\d-]', '') 这将替换所有非数字或连字符 请注意,您需要为str.re

我是java的初学者,正在尝试构建自己的天气应用程序。 当获得温度时,输出为

/?4°

现在我只需要得到温度(4°或-4°)。我怎样才能做到这一点? 我已经试过了

str.replace('?',' ')
但那没用。我的问题

str.replaceAll('\\D', ' ')

也就是说,它还删除了-符号。我希望您能帮助我。

您可以调整您的正则表达式并使用:

str = str.replaceAll('[^\\d-]', '')
这将替换所有非数字或连字符


请注意,您需要为
str.replaceAll

的结果赋值,java中的所有字符串都是不可变的,这意味着它们不能更改。方法
str.replace('?','')
返回替换字符的新字符串。请阅读
replace
文档,例如,旧但有效的,最好解决原始问题,因为您的原始帖子不包含基础问题,我看到您现在添加了
注意,您需要分配str.replaceAll的结果
str = str.replaceAll('[^\\d-]', '')