Подстановка: "\p{Cntrl}" - "\P{Print}"
До сих пор я использую эти две замены, прежде чем печатать "$string" на терминал.
$string =~ s/\p{Space}/ /g;
$string =~ s/\p{Cntrl}//g;
Есть ли что-то, что я должен учитывать, когда я заменяю первые две замены на следующие две?
$string =~ s/\p{Space}/ /g;
$string =~ s/\P{Print}//g;
1 ответ
Решение
Смотрите этот вопрос. Есть две кодовые точки, которые не являются ни управляющими, ни печатными символами: U+2028 LINE SEPARATOR
и U+2029 PARAGRAPH SEPARATOR
, Но оба они являются пробелами, поэтому ваши две замены должны быть эквивалентны.