【问题标题】:How does one escape characters in Delphi string如何在 Delphi 字符串中转义字符
【发布时间】:2010-09-23 01:51:34
【问题描述】:

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

【问题讨论】:

    标签: delphi string escaping literals


    【解决方案1】:

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

    str := '''test string''';
    Writeln(str)
    

    在上面的字符串中,你有一个普通的单引号来开始一个字符串,然后是两个单引号。字符串的结尾也是如此。

    您还可以使用# 后跟数字来表示其他转义字符,例如
    对于新行:

    str := 'Newline' + #13 + #10 
    

    或者只是

    str := 'Newline'#13#10
    

    当然,换行使用平台相关的常量更好。

    【讨论】:

    • #13#10 的唯一问题是,如果 + 缺失,编译器会生成警告。它将编译并运行良好,但会出现警告。
    • 编译器是什么时候开始发出警告的?我知道它在 Delphi 5 中没有这样做,而且我很确定它在 Delphi 2005 中没有这样做。它现在打印什么警告?
    • 我认为QuotedStr / AnsiQuotedStr 值得一提。在引用变量时特别有用,例如showMessage('param value is ' + QuotedStr(param))
    【解决方案2】:

    对于' 字符,请输入两次。例如:'Don''t'。空字节类型为#0。

    【讨论】:

      【解决方案3】:

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

      #$0000   
      

      添加 U+0000

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

      【讨论】:

      • 你也可以改用#0
      猜你喜欢
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多