Как удалить "" из строки Java - PullRequest
37 голосов
/ 23 июля 2010

У меня есть строка Java с " " из текстового файла, к которому программа обращается с помощью объекта Buffered Reader.Я пытался string.replaceAll(" ",""), и это не похоже на работу.

Есть идеи?

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

Ответы [ 9 ]

83 голосов
/ 21 мая 2011
cleaned = cleaned.replace("\u00a0","")
7 голосов
/ 23 июля 2010

Так же, как вы упомянули:

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

Это работает для меня.

6 голосов
/ 23 января 2014

Это двухэтапный процесс:

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

Это сработало для меня.Надеюсь, это вам тоже поможет!

2 голосов
/ 18 ноября 2016

Существует готовое решение для удаления HTML из общего доступа Apache:

StringEscapeUtils.unescapeHtml("")

Вы также можете экранировать HTML, если хотите:

StringEscapeUtils.escapeHtml("")
0 голосов
/ 16 февраля 2017

Я столкнулся с той же проблемой: внутренний HTML-код нужного мне элемента имел «& nbsp», и мое утверждение не удалось. Поскольку вопрос не получил никакого ответа, я бы предложил следующее, что сработало для меня

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

П.С .: Удачного тестирования:)

0 голосов
/ 18 января 2012

Вы можете использовать JSoup библиотека:

String date = doc.body().getElementsByClass("Datum").html().toString().replaceAll(" ","").trim();
0 голосов
/ 23 июля 2010

String s в Java неизменны.Вы должны сделать:

String newStr = cleaned.replaceAll(" ", "");
0 голосов
/ 23 июля 2010

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?"
0 голосов
/ 23 июля 2010

Строки являются неизменяемыми, поэтому вам нужно сделать

string = string.replaceAll(" ","")
...