如何将String格式化为一行,StringUtils?

Jim*_*mmy 4 java xml string log4j

我有一个字符串,我将其传递给log4j以将其记录到文件中,该字符串的内容是XML,并且它被格式化为具有缩进的多行等等,以使其易于阅读.

但是,我希望XML能够在一条线上,我该怎么做呢?我看过StringUtils,我想我可以去掉标签和回车,但是必须有一个更干净的方式?

谢谢

Car*_*icz 5

我会抛出一个regexp替换它.这不是高效的,但肯定比XML解析更快!

这是未经测试的:

 String cleaned = original.replaceAll("\\s*[\\r\\n]+\\s*", "").trim();
Run Code Online (Sandbox Code Playgroud)

如果我没有傻瓜,那将消除所有行终止符以及紧跟在那些行终止符之后的任何空格.模式开头的空格应该杀死单个行上的任何尾随空格.trim()为了消除第一行开头和最后一行结束时的空白而采取的措施.

  • 你可以只使用 `[\r\n]`,不需要在那里加双斜杠。 (2认同)