Как экранировать символы в строке Delphi? - PullRequest
41 голосов
/ 19 ноября 2008

В строках Delphi используются одинарные кавычки, например 'a valid string'. Как указать символ ' в литеральной строке? Как можно сослаться на нулевой байт (кодовая точка Unicode U+0000)?

Ответы [ 3 ]

47 голосов
/ 19 ноября 2008

Чтобы добавить одиночную кавычку в строку, вы добавляете две ' отметки, например.

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

В приведенной выше строке у вас есть обычная одинарная кавычка для начала строки, а затем две для одинарной кавычки. То же самое касается конца строки.

Вы также можете использовать # с последующим номером для другого escape-символа, например
Для новой строки:

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

или просто

str := 'Newline'#13#10

Конечно, лучше использовать зависящую от платформы константу для перевода строки.

14 голосов
/ 19 ноября 2008

Чтобы ответить на последнюю часть вопроса, вы можете использовать

#$0000   

Добавить U + 0000

Таким образом, вы также можете добавлять другие символы Юникода. (Обязательно используйте шрифт, который может отображать эти символы.)

8 голосов
/ 19 ноября 2008

Для символа ' введите его дважды. Например: 'Don''t'. Тип нулевого байта как # 0.

...