【发布时间】:2013-10-27 09:35:17
【问题描述】:
我已经搜索过这个问题,但所有的讨论都是围绕如何从字符串中删除“零宽度非连接符”字符或将其替换为标准空格。所以,我知道如何在给定的字符串中检测和删除它。 现在我的问题是如何在 perl 中打印这个字符串?我知道如何在 Python 和 ruby 中做到这一点,但它在 perl 中不起作用。 在 ruby 中,我过去常常这样做:
mystring.gsub!(/\s+/,'<200c>')
而且效果很好。但是在 Perl 中按照相同的方式,它不起作用。实际上我已经尝试了以下方法,但它没有返回正确的输出:
$mystring =~ s/\s+/\x{200C}/g;
关键是我可以在 Perl 中检测到这个字符,但我不能打印它。关于这个问题的任何想法?
【问题讨论】:
-
你想要什么输出,你得到什么输出
-
也许你应该看看perldoc.perl.org/open.html。我试过
use open ':encoding(utf8)',它似乎工作。 -
我输入了一些文本,例如:ab{space}cd,我希望它是:ab{non-joiner space}cd。但我没有在两者之间得到非连接空间。而不是它,我得到双倍空格。
标签: regex string perl bash text