曲径通幽论坛

标题: 大小写转换(\U, \L, \E, \u, \l) [打印本页]

作者: beyes    时间: 2011-10-3 17:18
标题: 大小写转换(\\U, \\L, \\E, \\u, \\l)
\U 字符回将其后的所有字符都转换成大写形式,如:
[Perl] 纯文本查看 复制代码
#!/usr/bin/perl


$_ = "welcome to groad.net";

s/(groad.net)/\U$1/;

print "$_\n";

运行输出:
./case.pl
welcome to GROAD.NET

\L 转义字符会将其后的字符都转换为小写,如:
[Perl] 纯文本查看 复制代码
$_ = "WelCome to groad.net";

s/(WelCome)/\L$1/;

print "$_\n";

运行输出:
./case.pl
welcome to groad.net

\E 可以取消大小写转换。先比较下面的例子:
[Perl] 纯文本查看 复制代码
#!/usr/bin/perl

$_ = "welcome to groad";

s/(\w+) to (\w+)/\U$1 to $2/i;

print "$_\n";

运行输出:
./case.pl
WELCOME TO GROAD
在只是简单的使用 /U 的情况下,所有其后的字母都会被转换为大写。下面将“s/(\w+) to (\w+)/\U$1 to $2/i;” 这句话改成 “s/(\w+) to (\w+)/\U$1\E to $2/i;” ,修改后,使用 \E 来在转换的中途就终止这种大小写转换。运行输出:
./case.pl
WELCOME to groad

使用小写形式的 \l\u 时,它们只会影响其后的一个字符,比如:

[Perl] 纯文本查看 复制代码
#!/usr/bin/perl

$_ = "welcome to groad";

s/(welcome)/\u$1/;

print "$_\n";

运行输出:
./case.pl
Welcome to groad

上面的操作符 \U, \L, \E, \l, \u 可以直接用在任何双引号内的字符串,比如在 pint 语句中:print "\Uwelcome\E \LTO\E \uGroad.\lNet\n"; 该剧回打印出:WELCOME to Groad.net




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2