- 締切済み
Perlでアルファベットを数字に変換することは出来るか?
Perlでアルファベットを数字に変換することは出来るのでしょうか?
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- pick52
- ベストアンサー率35% (166/466)
回答No.6
下の回答、少し間違えているかも知れません。 value =~ s/([0-9A-Fa-f]/hex($1)/ego; ですね。 たぶん・・・。 (試しておらず、当てずっぽうなのでこれも間違えて いるかも?) すみません。(_ _)
- pick52
- ベストアンサー率35% (166/466)
回答No.5
URLデコードでよく見られる処理をそのままパクって value =~ s/([0-9A-Fa-f]/pack("C", hex($1))/ego; でどうですか?
- mach999
- ベストアンサー率75% (36/48)
回答No.4
小文字のみ $s = "abcd"; $s =~ s/[a-z]/ord($&)-ord("a")+1/ge; 小文字と大文字 $s = "abcd"; $s =~ s/[a-z]/ord($&)-ord("a")+1/ge; $s =~ s/[A-Z]/ord($&)-ord("A")+1/ge; どう?
- moon_night
- ベストアンサー率32% (598/1831)
回答No.3
力技で・・・ $ver = "abcdef"; $ver =~ s/a/1/g; $ver =~ s/b/2/g; ・ ・ ・ もっと簡単な書き方があるけど、基本はこんな感じでしょう。
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.2
例えばこんなのとか: perl -e 'print join "", map { ord($_)-96; } split //, "abcdefg"' アルファベットから数字に変換する規則を明示しないと、有効な回答が得られにくいと思います。
- moon_night
- ベストアンサー率32% (598/1831)
回答No.1
できると思います。
質問者
お礼
そうですか。 では、例えば、 $moji = 'abcdefg' を適当な数字(例えば、12345647など)に変換するコードを教えてくれませんか?
お礼
規則で私が思いついたのは、 ・アルファベットをから16進の文字コードに変換し、それを10進にする ・a=1,b=2,・・・,z=26を当てはめる ・a=j=t=1,b=k=u=2,・・・,i=s=0を当てはめる