在Python中,我可以构造一个HTML字符串,而不必担心逃避特殊字符,例如<或“通过简单地将字符串封闭在三重引号中:

html_string = """
<html>
<body>
<p>My text with "quotes" and whatnot!<p>
</body>
</html>
"""

在Java中有类似的方法吗?

有帮助吗?

解决方案

它不能像在Python一样在Java中完成。但是,如果使用Eclipse,请转到窗口 - >首选项 - > java->编辑器 - >键入最后一个复选框是“粘贴到字符串文字中时的逃脱文本”。检查一下。现在,当您将光标粘贴在引号标记之间时,它将被逃脱。

其他提示

不,但是有些工具在您粘贴它时为您逃脱,就像Eclipse一样。

出于提到的目的, Java服务器页面 即使没有贸易 """'s :-)

在Java源代码中,Double Quote是一个特殊字符,用于声明字符串文字。如果不逃脱它,则不能在字符串字面上有双重报价。

总的来说,我会尽力避免在源代码中这样的硬编码字符串,尤其是如果我发现自己做了很多事情 - 正如您所指出的,它们很痛苦,很可能是来源的,它们很可能很可能要改变,在这种情况下,您可以在不进行重新编译的情况下进行。如果您不需要为文本数据提供运行时零件,则可以逃脱像从属性文件中读取数据一样简单的内容,也可以使用类似的模板引擎 Apache速度 为了使字符数据分开,并且在运行时仍可以替换变量 - 链接用户指南中的几个示例与HTML完全执行此操作。

回应本尼史密斯的窍门 类似的问题, ,您可以使用替代字符并之后替换它们:

String myString = "using `backticks` instead of quotes".replace('`', '"');

当我与JSON编写测试时,我发现它很有帮助

String json = "{`kind`:`file`,`sid`:802,`rid`:5678 ,`attrs`:{`name`:`FILE-WG-2468`}}".replace('`', '"');
// vs
String json = "{\"kind\":\"file\",\"sid\":802,\"rid\":5678 ,\"attrs\":{\"name\":\"FILE-WG-2468\"}}";
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top