Until now I use these two substitutions before printing "$string" to the terminal.

$string =~ s/\p{Space}/ /g;
$string =~ s/\p{Cntrl}//g;

Is there something that I should consider, when I replace the first two substitutions with the following two?

$string =~ s/\p{Space}/ /g;
$string =~ s/\P{Print}//g;
有帮助吗?

解决方案

See this question. There are two code points that are neither control nor printable characters: U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR. But both of them are space characters, so your two substitutions should be equivalent.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top