我在Java中使用StringBuidler
来构建HTML页面。
我想知道如何在不放置" "
"的情况下逃避所有引号(\
)每次?
例如,每次我追加这样的字符串:
StringBuilder a ;
a.append(<div id = \"Name\" ...>)
我想直接写:
a.append(<div id = "Name" ..>
感谢。
答案 0 :(得分:7)
简短回答:在Java中无法解决这个问题
答案很长:Java没有多种方法来封装字符串。你总是使用双引号,所以如果你想在你的String中使用双引号,你必须将它们转义。
但如果他们真的烦恼你,你可以申请一些诡计:
将您的字符串放入文本文件中并从那里阅读。
使用不同的字符而不是引号字符,并使用replace来输入正确的引号。当然,您的替换字符不得出现在字符串中的任何其他位置。
使用不同的编程语言(如Groovy)编写有问题的代码,Groovy有不同的方式来划分字符串。
因为您似乎生成了HTML:使用适当的模板引擎,这对类固醇来说确实是选项1。
答案 1 :(得分:3)
构建HTML模板时,最简单的解决方案是使用文本文件。
你可以这样做
但是,没有办法避免在Java代码中转义。唯一的选择是你使用另一个字符,如”
(Alt-Graphic-B),你最后会替换它。
答案 2 :(得分:1)
你不能,这只是用手写填充StringBuilder
HTML代码的一个坏主意的原因之一。
答案 3 :(得分:0)
它存在于Java之外的其他语言中,但使用Java是不可能的。
使用coffescript,您可以,例如:
html = """
<div id="Name" > ... </div>
"""
答案 4 :(得分:0)
没有正确的方法可以做到这一点,但你可以在你的String中放置一个很少使用的替换字符(代字号或其他东西),然后在其上调用.replace()。
理想情况下,如果您需要原始字符串,则应该从文件加载数据。