如何从包含XML的String中删除第一行?

use*_*509 12 java

我有一个包含XML的字符串.我想删除它的第一行并将其保存回String.

我怎样才能做到这一点?

谢谢

das*_*ght 35

假设您要删除的字符串末尾有一个新行,您可以这样做:

s = s.substring(s.indexOf('\n')+1);
Run Code Online (Sandbox Code Playgroud)

当没有新线时,s将保持不变.


gdr*_*drt 6

从技术上讲,因为 Mac(最高操作系统 9)曾经使用过\r并且作为公认的解决方案不能解决这个问题,所以使用:

s = s.substring(s.indexOf(System.getProperty("line.separator"))+1);
Run Code Online (Sandbox Code Playgroud)

但是正如评论中提到的那样,在使用此代码时,您必须确保您不使用例如Unix行尾为Windows.

  • 由于唯一常见的两种行分隔方案是`\n` 和`\r\n`,并且文字`\n` 对两者都适用,我认为它比`line.separator` 更可靠。例如,考虑到在 Windows 上使用带有 unix 行结尾的源代码文件时,这种方法会失败,而上述方法会成功。因此,在这种情况下,在 Windows 上查找 `\r\n` 更有可能创建特定于平台的错误而不是防止错误。 (6认同)