Ответ 1
Вам нужна еще одна цитата, чтобы избежать цитаты:
Writeln('I''m in your head'); //prints: I'm in your head
Writeln(''''); //prints: '
См. также этот вопрос.
Возможный дубликат:
Как избежать символов в строке Delphi
В Delphi строка содержится в паре '
, но мне нужно использовать '
в моей строке...
и когда я его использую, он заканчивает идентификацию всей строки.
'inside string ' but this bit is outside' inside again' and the end
Есть ли какой-нибудь символ, который удаляет эффект кодирования следующего символа?
Вам нужна еще одна цитата, чтобы избежать цитаты:
Writeln('I''m in your head'); //prints: I'm in your head
Writeln(''''); //prints: '
См. также этот вопрос.
Delphi имеет функцию QuotedStr()
, которая добавляет кавычки вокруг строки и автоматически экранирует апострофы в строке.
procedure MyForm.MyProc;
var str : string;
begin
str = QuotedStr(MyForm.Edit1);
...
end;
QuotedStr()
помещает содержимое поля редактирования в апострофы. Если поле редактирования содержит апострофы, они будут правильно экранированы.
Аналогичный вопрос здесь:
Как избежать символов в строке Delphi
Обложки одинарных кавычек и escape-символов
Обычно я использую функцию QuotedStr
для исправления строк с кавычками в них. Кроме того, я часто считаю полезным определить такие константы, как CRLF
и TAB
, которые представляют #13#10
и #9
соответственно. Иногда мне кажется яснее (по крайней мере, мне) делать что-то похожее с кавычками.