如何使用单引号和双引号设置变量?

时间:2013-11-21 19:27:31

标签: coldfusion escaping

如何在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.';

4 个答案:

答案 0 :(得分:9)

CF DOC

  

转义引号和数字符号

     

在字符串中包含单引号字符   单引号,使用两个单引号(称为转义   单引号)。以下示例使用了转义   单引号:

<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);

关键是:

  1. 用单引号括起字符串以转义变量
  2. 中的双引号
  3. 使用另一个单引号转义变量中的单引号
  4. 编辑从此处开始

    这里又是,但是单引号和双引号已经切换。

    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”