【发布时间】:2019-02-14 23:19:44
【问题描述】:
我需要使用 Perl 6 从字符串中删除变音符号。我尝试这样做:
my $hum = 'חוּם';
$ahm.subst(/<-[\c[HEBREW LETTER ALEF] .. \c[HEBREW LETTER TAV]]>/, '', :g);
我正在尝试删除所有不在 HEBREW LETTER ALEF (א) 和 HEBREW LETTER TAV (ת) 范围内的字符。我希望以下代码返回“חום”,但它返回“חם”。
我猜想发生的情况是默认情况下 Perl 6 按字素工作,认为 וּ 是一个字素,并删除了所有字素。通过字素工作通常是明智的,但在我的情况下,我需要它通过代码点工作。
我试图找到一个可以通过代码点使其工作的副词,但找不到。也许 Perl 6 中还有一种方法可以使用 Unicode 属性来排除变音符号,或者只包含字母,但我也找不到。
谢谢!
【问题讨论】: