StringBuilder附加换行符“\ n”char

时间:2011-12-12 22:09:56

标签: xml newline stringbuilder

我在xml解析器DefaultHandler2中使用StringBuilder。 builder是一个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”新行char? 也可能是builder.setLength(0)正在添加换行符。

如果我要接受这个新行,则无法从字符串中删除新行char。所有可能的变体中的strVar.removeAll("\\n","")都无效。

任何想法?

由于 问候 基督徒

2 个答案:

答案 0 :(得分:2)

StringBuilder没有附加任何'\ n'字符(除非你告诉它)。

'\ n'字符来自其他地方。

答案 1 :(得分:1)

最有可能的换行符是ch数组的一部分。 StringBuilder只会附加您告诉它的内容,并且不会自行添加换行符。

至于strVar.removeAll("\n", "")没有删除换行符,请不要忘记使用调用的结果:

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

Java中的字符串是不可变的,因此只需调用removeAll()就不会修改原始字符串对象。