Java XML文件中的字符串和\n
这是我的问题: 我从包含Java XML文件中的字符串和\n,java,android,xml,libgdx,Java,Android,Xml,Libgdx,这是我的问题: 我从包含“\n”行尾字符的xml文件中获取一个字符串。如果我把这个字符串放在图形对象中(在LibGDX游戏窗口中),它已经用“\n”打印了,但是如果我直接写字符串(所以不是从XML文件中得到的),它将不打印“\n”,新行出现在“\n”点之后 当我从xml文件中获取字符串时,如何也具有这种行为 我通过在XML中将\n替换为->,然后用rePeacell(“->”,“\n”)替换它来解决这个问题现在它可以工作了。谢谢。尝试将xml文件中的\n替换为,不知道问题出在哪里,但听起来好像是
“\n”
行尾字符的xml文件中获取一个字符串。如果我把这个字符串
放在图形对象中(在LibGDX游戏窗口中),它已经用“\n”
打印了,但是如果我直接写字符串
(所以不是从XML文件中得到的),它将不打印“\n”
,新行出现在“\n”
点之后
当我从xml文件中获取字符串时,如何也具有这种行为 我通过在XML中将\n
替换为->
,然后用rePeacell(“->”,“\n”)替换它来解决这个问题代码>现在它可以工作了。谢谢。尝试将xml文件中的\n
替换为
,不知道问题出在哪里,但听起来好像是以“\n”(两个字符串)而不是文件中的单个字符“\n”结束的。听起来像是从xml文件解析'\n'
字符时转义了,尝试调试从XML文件中获取字符串的点,并检查它返回的字符串,可能是XML返回的字符串有转义斜杠:\\n
@CeilingGecko是的,您是对的。XML返回的字符串
包含转义的斜杠:\\n
。因此,我尝试使用replaceAll(“\\n”,“\n”)将\\n
替换为\n
;但它似乎不起作用……我通过在XML中将\n
替换为->
解决了这个问题,然后用replaceAll(“->”,“\n”)替换它;现在它起作用了。谢谢。以防您想知道为什么您的replaceAll(\\n“,“\n”)
不起作用,这是因为replaceAll
中的第一个参数是一个正则表达式,其中反斜杠有自己的含义。因此,要在正则表达式中表示Java字符串
“\\n”,必须用另一个反斜杠转义每个反斜杠。然后,您的方法调用将变为replaceAll(“\\\\n”,“\n”)代码>它会完全满足您的要求。谢谢@CeilingGecko您说得对。我没有意识到replaceAll()
函数的第一个参数是正则表达式。