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

45

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

3个回答

56
为在字符串中添加单引号,您需要包含两个'标记,例如。
str := '''test string''';
Writeln(str)

在上面的字符串中,您使用普通的单引号开始一个字符串,然后用两个单引号表示单引号。结尾同理。

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

str := 'Newline' + #13 + #10 
或者只是
str := 'Newline'#13#10

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


唯一的问题是如果缺少“+”符号,编译器会生成警告。它可以编译和运行正常,但会有警告。 - skamradt
3
编译器何时开始发出关于此的警告?我知道Delphi 5没有这样做,而且我很确定Delphi 2005也不会这样做。现在它会打印什么警告? - Rob Kennedy
3
我认为值得一提的是 QuotedStr / AnsiQuotedStr。在引用变量时特别有用,例如 showMessage('param value is ' + QuotedStr(param)) - Alexander Malakhov

15
为回答问题的最后一部分,您可以使用

#$0000   

添加U+0000的方法

这样您也可以添加其他Unicode字符。(确保使用能够显示这些字符的字体。)


3
你也可以使用 #0 - Remy Lebeau

10

对于单引号字符,请将其重复两次。例如:'Don''t'。空字节类型为 #0。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接