StringBuilder добавляет символ новой строки "\ n" - PullRequest
0 голосов
/ 13 декабря 2011

Я использую StringBuilder в парсере xml DefaultHandler2.строитель является StringBuilder.

@Override
public void characters(char[] ch, int start, int length)
        throws SAXException {
    super.characters(ch, start, length);
    builder.append(ch, start, length);
}

@Override
public void endElement(String uri, String localName, String qName){
    strVar = builder.toString();    
}

Проблема в том, что StringBuilder добавляет "\ n" символ новой строки?Может также случиться так, что builder.setLength(0) добавляет символ новой строки.

Если я согласен принять эту новую строку, невозможно удалить символ новой строки из строки.strVar.removeAll("\\n","") во всех возможных вариациях не работает.

Любой идеар?

С уважением, Кристиан

Ответы [ 2 ]

2 голосов
/ 13 декабря 2011

StringBuilder не добавляет никаких символов '\ n' (если вы не указали это).

Символ '\ n' происходит в другом месте.

1 голос
/ 13 декабря 2011

Скорее всего, символ новой строки является частью массива ch.StringBuilder добавляет только те вещи, к которым вы сообщаете, и не добавляет новую строку самостоятельно.

Что касается strVar.removeAll("\n", "") не удаления новой строки, не забудьте использовать результатcall:

strVar = strVar.removeAll("\n", "")

Строки в Java неизменны, поэтому простой вызов removeAll() не изменит исходный строковый объект.

...