如何在ColdFusion中设置一个字符串变量,该字符串变量在字符串中使用单引号和两个双引号?
MyVar = "Include multiple addresses on "Recipient's E-Mail" separated by commas.";
我知道我可以把它分解成几个变量或逃避一些字符,但我想知道是否有一种标准的“最佳”方式,一种简洁易读的方式。
我可以这样做,但这很麻烦:
// THIS WORKS
MyVar = "Include multiple addresses on ";
MyVar = MyVar & '"Recipient's E-Mail "';
MyVar = MyVar & "separated by commas.";
我应该注意到我在一个函数中使用CFSCRIPT。这使得使用savecontent笨重。 CF在savecontent中不喜欢我的var(LOCAL.Info [i] .EmailProd07)的名字,所以我不得不重命名它。
// THIS WORKS
savecontent variable="LOCAL.MyVar" {
writeOutput("Multiple recipients may be included in ""Recipient's E-Mail"" separated by commas.");
};
LOCAL.Info[i].EmailProd07 = LOCAL.MyVar;
// THIS WORKS
LOCAL.Info[i].EmailProd07 = 'Multiple recipients may be included in "Recipient''s E-Mail" separated by commas.';
答案 0 :(得分:9)
转义引号和数字符号
在字符串中包含单引号字符 单引号,使用两个单引号(称为转义 单引号)。以下示例使用了转义 单引号:
<cfset myString='This is a single-quotation mark: '' This is a double-quotation mark: "'> <cfoutput>#mystring#</cfoutput><br>
要在双引号字符串中包含双引号,请使用两个 双引号(称为转义双引号)。 以下示例使用转义双引号:
<cfset myString="This is a single-quotation mark: ' This is a double-quotation mark: """> <cfoutput>#mystring#</cfoutput><br>
因为字符串可以是双引号或 单引号,前面两个例子都显示了 同文:
This is a single-quotation mark: ' This is a double-quotation mark: "
我想补充一下:
<cfsavecontent variable="MyVar">
Include multiple addresses on "Recipient's E-Mail" separated by commas.
</cfsavecontent>
如果空格很重要,之后要么使用trim()
,要么内容很短,只需将标记和内容保留在一行中,中间没有空格。
答案 1 :(得分:6)
MyVar = 'Include multiple addresses on "Recipient''s E-Mail" separated by commas.';
WriteOutput(MyVar);
关键是:
编辑从此处开始
这里又是,但是单引号和双引号已经切换。
MyVar = "Include multiple addresses on ""Recipient's E-Mail"" separated by commas.";
同样适用
答案 2 :(得分:1)
你不能使用CHR功能吗? http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_c-d_04.html
这意味着您只需用正确的字符代码替换一组“。”。
答案 3 :(得分:-2)
您需要使用转义字符
通常是:\
示例:
字符串a =“bla bla bla \'dsfdsf \'bla”