2017-01-31 1 views
0

私はエルキャピタンを実行しているMacでperlを使用して英国の通貨£記号を含む行を解析しようとしていますが、解析することはできません。理想的には私はそれが

@Line=split("£",$Hit);

文字列を分割が、私も、正規表現を動作させることはできません使用したいと思います。エスケープが機能しないMacの文字セットに問題がありますか?端末上のリストには? £の代わりに。

対象のテキストは、Seamonkeyの者作曲者によって書かれたHTMLでの名前付きアンカーから来ている:

<a name="word1£word2">

+4

これをファイルから読み取っていますか?ファイルのエンコーディングは何ですか? – ThisSuitIsBlackNot

+0

Western(ISO Latin 1)でもロシア語のテキストがあります – drw

+3

HTMLを読んでいるなら、おそらくHTMLパーサを使用するべきでしょう。また、文字エンティティを使用しない限り、ファイルがISO-Latin-1にあり、ロシア語(キリル文字)のテキストを含むことは間違いありません。だから、ファイルのエンコーディングは何ですか? – jcaron

答えて

0

utf8プラグマは、ユニコード文字であることをご確認ください。ここにサンプルコードがあります。

use strict; 

use utf8; 

my $str = qq~<a name="word1£word2">~; 
my ($first, $second) = split("£", $str); 

print "$first $second\n"; 
+0

'£'を '\ N {U + 00A3}'として与えるよりも読みやすくなります! – drw

1

一つの簡単な答えは\N{U+00A3}£のUnicodeである

@Line=split("\N{U+00A3}",$Hit); 

だろう。

関連する問題