在 Python 中,我可以通过三重引号将字符串拼接成 HTML 字符串,而无需担心转义特殊字符,如 < 或 " :
html_string = """
<html>
<body>
<p>My text with "quotes" and whatnot!<p>
</body>
</html>
"""
在Java中是否有类似的方法?
在 Python 中,我可以通过三重引号将字符串拼接成 HTML 字符串,而无需担心转义特殊字符,如 < 或 " :
html_string = """
<html>
<body>
<p>My text with "quotes" and whatnot!<p>
</body>
</html>
"""
在Java中是否有类似的方法?
在Java中无法像Python一样完成此操作。但是,如果您使用Eclipse,请转到“窗口->首选项->Java->编辑器->键入”,最后一个复选框是“将文本转义粘贴到字符串文字中”。勾选该复选框。现在,当您将内容粘贴到引号之间时,它将被转义。
String myString = "using `backticks` instead of quotes".replace('`', '"');
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\"}}";
heredocs
,但这是一个不错的技巧来减轻痛苦。我会编写正确的字符串,然后使用 Intellij 的“替换选定内容”功能将 ~
(比 '`' 更少使用)替换为它。 - WestCoastProjectsJava 15引入了文本块功能。详情请参见JEP 378:文本块。
将您的材料括在一对三个引号字符中。
String html = """
<html>
<body>
<p>Hello, world</p>
</body>
</html>
""";
你的集成开发环境可能已经更新,以帮助你智能地编辑文本块。例如,IntelliJ提供支持。
heredoc
在我的开发流程中是一个核心部分,特别是在测试用例和配置相关逻辑中。我很幸运有6年没有碰Java了,但现在回来却很痛苦,因为这个问题一直存在。上面提到的用其他东西替换双引号的技巧可能是目前最不痛苦的hack方法。 - WestCoastProjects