У меня есть строка java с " "
из текстового файла, к которому программа обращается с помощью объекта Buffered Reader. Я пробовал string.replaceAll(" ","")
, и это не работает.
Есть идеи?
cleaned = cleaned.replace(" "," ");
У меня есть строка java с " "
из текстового файла, к которому программа обращается с помощью объекта Buffered Reader. Я пробовал string.replaceAll(" ","")
, и это не работает.
Есть идеи?
cleaned = cleaned.replace(" "," ");
Это двухэтапный процесс:
strLineApp = strLineApp.replaceAll("&"+"nbsp;", " ");
strLineApp = strLineApp.replaceAll(String.valueOf((char) 160), " ");
Это сработало для меня. Надеюсь, это поможет и вам!
Так же, как вы упомянули:
String cleaned = s.replace(" "," ");
Меня устраивает.
Есть готовое решение для удаления HTML из общих ресурсов Apache:
StringEscapeUtils.unescapeHtml("")
Вы также можете избежать HTML, если хотите:
StringEscapeUtils.escapeHtml("")
Строки неизменяемы, поэтому вам нужно сделать
string = string.replaceAll(" ","")
cleaned = cleaned.replace(" "," ");
- person jjnguy; 23.07.2010
replaceAll
, опубликованный в исходном посте, он явно не делает этого.
- person Mark Peters; 23.07.2010
Вы можете использовать библиотеку JSoup:
String date = doc.body().getElementsByClass("Datum").html().toString().replaceAll(" ","").trim();
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?"
String implements CharSequence
.
- person BalusC; 23.07.2010
%20
. Обычно это происходит, когда вы копируете из своего браузера после того, как он очистит URL-адрес, чтобы он выглядел красиво, вместо того, чтобы копировать необработанный URL-адрес.
- person Mark Peters; 23.07.2010
replaceAll()
соответствует регулярным выражениям.
- person Ben; 20.02.2015
String
в Java неизменяемы. Ты должен сделать:
String newStr = cleaned.replaceAll(" ", "");
Я столкнулся с той же проблемой: внутренний HTML-код нужного мне элемента имел « », и мое утверждение не удалось. Поскольку вопрос не получил ответа, я бы предложил следующее, что сработало для меня.
String string = stringwithNbsp.replaceAll("\n", "");
P.S. Удачного тестирования :)
string = string.replaceAll(...)
, а не простоstring.replaceAll()
. Строки неизменяемы, вам нужно присвоить их обратно переменной, как при использованииreplace()
выше. - person Mark Peters   schedule 23.07.2010