使用Perl将重音字符更改为小写

时间:2014-08-06 06:20:05

标签: perl

我有像这样的重音字符

<code>enter image description here</code>

我想将大写重音字符转换为小写字母。我使用了lc运算符,但我无法获得预期的输出。

例如,我想将Â转换为â

如果我使用像&#x00C2这样的XML实体,如果我将其转换为小写,它应该变为&#x00E2

3 个答案:

答案 0 :(得分:6)

#!/usr/bin/perl
use warnings;
use strict;
use Encode qw(encode decode);

my $enc = 'utf-8'; # This script is stored as UTF-8
my $str = "Ä\n";

# Byte strings:
print lc $str; # prints 'Ä', lc didn't have any effect

# text strings::
my $text_str = decode($enc, $str);
$text_str = lc $text_str;
print encode($enc, $text_str); # prints 'ä', lc worked as expected

尝试一下这可行。

答案 1 :(得分:2)

尝试使用

use locale;
print lc("\xE2");

并阅读 http://perldoc.perl.org/functions/lc.html

答案 2 :(得分:2)

 use locale;    
 my $low=lc(\xC2);
 my $up=uc(\xE2);

试试这可能对你有帮助。