如何在Delphi字符串中转义字符

Boa*_*oaz 42 delphi string escaping literals

Delphi字符串使用单引号,例如' a valid string'.如何'在文字字符串中指定字符?如何引用空字节(Unicode代码点U+0000)?

Jam*_*mie 48

要向字符串添加单引号,请包含两个'标记,例如

str := '''test string''';
Writeln(str)
Run Code Online (Sandbox Code Playgroud)

在上面的字符串中,您可以使用正常的单引号来启动字符串,然后使用两个单引号.字符串的结尾也是如此.

您还可以使用#后跟一个数字作为其他转义字符,例如
对于新行:

str := 'Newline' + #13 + #10 
Run Code Online (Sandbox Code Playgroud)

要不就

str := 'Newline'#13#10
Run Code Online (Sandbox Code Playgroud)

当然,使用依赖于平台的常量换行更好.

  • 什么时候编译器开始发出关于它的警告?我知道它在Delphi 5中没有这样做,我很确定它没有那样做Delphi 2005.它现在打印什么警告? (3认同)
  • 我认为`QuotedStr` /`AnsiQuotedStr`值得一提.在引用变量时特别有用,例如`showMessage('param value is'+ QuotedStr(param))` (3认同)

Too*_*the 14

要回答问题的最后部分,您可以使用

#$0000   
Run Code Online (Sandbox Code Playgroud)

添加U + 0000

这样您也可以添加其他Unicode字符.(务必使用可以显示这些字符的字体.)

  • 你也可以使用`#0`代替. (3认同)

vra*_*rad 8

对于'角色来说,两次.例如:'Don''t'.空字节类型为#0.