加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 从重音字符中删除重音符号

发布时间:2020-12-16 06:08:33 所属栏目:大数据 来源:网络整理
导读:参见英文答案 How to convert letters with accents,umlauts,etc to their ASCII counterparts in Perl?????????????????????????????????????4个 我正在寻找建议我应该使用哪些库和/或函数将国际文本转换为它的英文字符替代品. 例如 Vous avez aimé l'ép
参见英文答案 > How to convert letters with accents,umlauts,etc to their ASCII counterparts in Perl?????????????????????????????????????4个
我正在寻找建议我应该使用哪些库和/或函数将国际文本转换为它的英文字符替代品.

例如

Vous avez aimé l'épée offerte par les elfes à Frodon

转换成

Vous avez aime l'epee offerte par les elfes a Frodon

解决方法

首先,您可以使用 Unicode::Normalize分解字符,然后您可以使用简单的正则表达式删除所有变音符号. (我想简单地抓住所有非间距标记字符应该这样做,但可能有一两个不起眼的例外.)

这是一个例子:

use strict;
use warnings;
use utf8;

use Unicode::Normalize;

my $test = "Vous avez aimé l'épée offerte par les elfes à Frodon";

my $decomposed = NFKD( $test );
$decomposed =~ s/p{NonspacingMark}//g;

print $decomposed;

输出:

Vous avez aime l'epee offerte par les elfes a Frodon

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读