在Delphi中使用字符串内的引号

时间:2009-02-25 20:45:52

标签: string delphi escaping quotes

  

可能重复:
  How does one escape characters in Delphi string

在Delphi中,一个字符串包含在'对中,但我需要在我的字符串中使用' ... 当我使用它时,它会结束整个字符串识别。

'inside string ' but this bit is outside' inside again' and the end

是否有一些符号可以消除下一个字符的编码影响?

4 个答案:

答案 0 :(得分:42)

你需要另一个引用来逃避报价:

Writeln('I''m in your head'); //prints: I'm in your head
Writeln(''''); //prints: '

另见this question

答案 1 :(得分:13)

Delphi有QuotedStr()函数,它在字符串周围添加引号,并自动转义字符串中的撇号。

procedure MyForm.MyProc;
var str : string;
begin
  str = QuotedStr(MyForm.Edit1);
  ...
end;

QuotedStr()会将编辑字段的内容放入撇号中。如果编辑字段包含撇号,则会正确转义它们。

答案 2 :(得分:4)

类似的问题:

How does one escape characters in Delphi string

涵盖单引号和转义字符

答案 3 :(得分:1)

我通常使用QuotedStr函数来修复带引号的字符串。另外,我经常发现定义常量如CRLFTAB分别代表#13#10#9会很有帮助。有时候,(至少对我来说)用引号做类似的事情似乎更清楚。