43

我有一个 java 字符串,其中" "包含程序使用 Buffered Reader 对象访问的文本文件。我已经尝试过string.replaceAll(" ","")了,它似乎不起作用。

有任何想法吗?

cleaned = cleaned.replace(" "," ");
4

9 回答 9

97
cleaned = cleaned.replace("\u00a0","")
于 2011-05-20T22:57:55.863 回答
12

这是一个两步过程:

strLineApp = strLineApp.replaceAll("&"+"nbsp;", " "); 
strLineApp = strLineApp.replaceAll(String.valueOf((char) 160), " ");

这对我有用。希望对你也有帮助!

于 2014-01-23T09:21:14.813 回答
8

与您提到的相同方式:

String cleaned = s.replace(" "," ");

这个对我有用。

于 2010-07-23T13:19:27.120 回答
3

有一个现成的解决方案可以从 Apache commons 中取消转义 HTML:

StringEscapeUtils.unescapeHtml("")

如果需要,您还可以转义 HTML:

StringEscapeUtils.escapeHtml("")
于 2016-11-18T13:09:02.987 回答
0

字符串是不可变的,所以你需要做

string = string.replaceAll(" ","")
于 2010-07-23T13:20:54.153 回答
0

String.replace(char, char)接受char输入(或CharSequence输入)

String.replaceAll(String, String)String通过正则表达式接受输入和匹配。

例如:

String origStr = "bat";
String newStr = str.replace('a', 'i');
// Now:
// origStr = "bat"
// newStr = "bit"

关键是返回值包含新编辑的String. String调用replace()/的原始变量replaceAll()的内容没有改变。

例如:

String origStr = "how are you?";
String newStr = origStr.replaceAll(" "," ");
String anotherStr = origStr.replaceAll(" ","");
// origStr = "how are you?"
// newStr = "how are you?"
// anotherStr = howareyou?"
于 2010-07-23T13:30:46.283 回答
0

您可以使用JSoup库:

String date = doc.body().getElementsByClass("Datum").html().toString().replaceAll(" ","").trim();
于 2012-01-18T14:10:26.597 回答
-1

StringJava 中的 s 是不可变的。你所要做的:

String newStr = cleaned.replaceAll(" ", "");
于 2010-07-23T13:34:50.550 回答
-1

我遇到了同样的问题:我需要的元素的内部 HTML 有“ ”,我的断言失败。由于该问题尚未接受任何答案,但我建议以下内容,这对我有用

String string = stringwithNbsp.replaceAll("\n", "");

PS:快乐的测试:)

于 2017-02-16T13:39:40.937 回答