0
perlコマンドで拡張ASCII文字を印刷するにはどうすればよいですか? 印刷する方法perlコマンドの拡張ASCII文字
Iは以下と試みた:
-i.bak -pe "use open qw(:std :utf8);s/[^[:*ascii*:]]//g;" #PS_BULK_GP.LOCAL_WORKING_FOLDER##TARGET_TABLE#.ftm
perlコマンドで拡張ASCII文字を印刷するにはどうすればよいですか? 印刷する方法perlコマンドの拡張ASCII文字
Iは以下と試みた:
-i.bak -pe "use open qw(:std :utf8);s/[^[:*ascii*:]]//g;" #PS_BULK_GP.LOCAL_WORKING_FOLDER##TARGET_TABLE#.ftm
-i.bak -pe "use open qw(:std :utf8);s/[^[:*print*:]]//g;" #PS_BULK_GP.LOCAL_WORKING_FOLDER##TARGET_TABLE#.ftm
は、UTF-8端末、
perl -e'use open qw(:std :encoding(UTF-8)); CORE::say "\xE9\x{2661}";'
perl -CSDA -e'CORE::say "\xE9\x{2661}";'
perl -CSDA -Mutf8 -e'CORE::say "é♡";'
ヒント: "拡張アスキー文字"は、 "ASCII以外の文字"と言っても意味がありません。
あなたのコードでは、正規表現の文字クラスで[:*ascii*:]
を使用していますが、それは意味がありません(「POSIX class [:*ascii*:] unknown in regex
」)。あなたは[:ascii:]
POSIXクラスを否定したい場合は、[^:ascii]
を使用することができますので、
s/[^[^:ascii:]]//g # Strips everything except non-ASCII characters.
s/[[:ascii:]]//g # Same thing.
は、あなたが何を求めているということですか?そうでない場合は、あなたが投稿したコードがあなたが尋ねた質問と何が関係しているのかわかりません。
['perlrecharclass'](http://perldoc.perl.org/perlrecharclass.html)を参照してください。 POSIX文字クラスの形式は '[:class:]' –
どういう意味かはっきりしていません。あなたは*拡張ASCIIを印刷する方法を尋ねますが、あなたのコードはASCII以外の(そして印刷できない)文字をファイルから削除しようとします。 – Borodin