Я не могу найти ресурсы для этого. Я хочу избежать двойных кавычек с perl, и я новичок в этом языке.Исключение двойных кавычек исправить
Вот что у меня есть:
$comment =~ s/\"/\\\"/g;
Это, кажется, не работает. Какое правильное решение?
Я не могу найти ресурсы для этого. Я хочу избежать двойных кавычек с perl, и я новичок в этом языке.Исключение двойных кавычек исправить
Вот что у меня есть:
$comment =~ s/\"/\\\"/g;
Это, кажется, не работает. Какое правильное решение?
Один из способов, чтобы вставить вещи, которые нужно было бы избежать, не считая обратной косой черты
$comment =~ s/"/q(\")/eg;
/e
С модификатором замена части оценивается как код, и результат используется в качестве замены. См. Его in perlop
и, скажем, this post
. Здесь это используется для принудительной строки в q()
.
Обратите внимание, что в этом простом случае s/"/\"/
отлично работает. Вероятно, в вашем коде больше всего происходит, или ваши котировки идут уже сбежавшими, и в этом случае дополнительные \
влияют на то, что вы видите позже.
не требуется подсчитывать:
$comment =~ s.(?=").\\.g;
'Perl -E«$ коментарий = "а \" Ъ "скажем, $ комментарий, $ комментарий = ~ s /"/\\ "/ г, скажем, $ комментарий '' показывает, что ваш код выполняет свою работу, поэтому проблема заключается в probaby в другом месте. Пожалуйста, покажите нам весь ваш код, чтобы мы могли помочь. – Dada
Из любопытства, почему вы пытаетесь избежать котировок? – ThisSuitIsBlackNot
@ThisSuitIsBlackНет, потому что некоторые из них данные имеют двойные кавычки, и это вызывает проблему с нашим xml – slicks1