我試圖用運行El Capitan的Mac上的perl解析包含英國貨幣£符號的行,但無法解析它。理想的情況是我想用它分割字符串在Mac上用Perl解析£
@Line=split("£",$Hit);
,但我甚至無法正則表達式的工作。轉義不起作用這是一個Mac字符集問題?在終端上列出了一個?代替英鎊。
目標文本來自於HTML命名錨通過組件Seamonkey的作曲家寫的:
<a name="word1£word2">
我試圖用運行El Capitan的Mac上的perl解析包含英國貨幣£符號的行,但無法解析它。理想的情況是我想用它分割字符串在Mac上用Perl解析£
@Line=split("£",$Hit);
,但我甚至無法正則表達式的工作。轉義不起作用這是一個Mac字符集問題?在終端上列出了一個?代替英鎊。
目標文本來自於HTML命名錨通過組件Seamonkey的作曲家寫的:
<a name="word1£word2">
請使用utf8編譯指示,因爲該符號是unicode字符。這裏是示例代碼。
use strict;
use utf8;
my $str = qq~<a name="word1£word2">~;
my ($first, $second) = split("£", $str);
print "$first $second\n";
這可以工作,比'\ N'作爲'\ N {U + 00A3}'更可讀! – drw
一個簡單的答案是
@Line=split("\N{U+00A3}",$Hit);
其中\N{U+00A3}
是Unicode爲£
。
所以你正在從一個文件中讀取?什麼是文件的編碼? – ThisSuitIsBlackNot
Western(ISO拉丁文1),但也有一些俄文文本 – drw
如果您正在閱讀HTML,您應該最有可能使用HTML解析器。另外,除非使用字符實體,否則絕對不可能使用ISO-Latin-1文件幷包含俄文(西里爾文)文本。那麼,再次,文件的編碼是什麼? – jcaron