正则里中文替换出现的问题

正则里中文替换出现的问题

像在字符串" (美国) ICC板球世界 " ,如果我用~s/[\(|(]\S*美国[\)|\)]//;那么得到的字符串就会产生像"©ICC板球世界" 这类的乱码。请问有人知道怎么解决吗?


QUOTE:
原帖由 bernana 于 2007-9-30 16:27 发表
像在字符串" (美国) ICC板球世界 " ,如果我用~s/[\(|(]\S*美国[\)|\)]//;那么得到的字符串就会产生像"©ICC板球世界" 这类的乱码。请问有人知道怎么解决吗?

乱....

中文的(前面就不用\了吧
[]中也不需要|吧

如果不指明编码, 那么中文是双字节来处理. (1中文=2个字符)

my $str = q/美/;
$str =~ s/.//;
print $str;

输出结果: