エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
perlで全角=2文字,半角=1文字で文字列長を算出する - end0tknr's kipple - web写経開発
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
perlで全角=2文字,半角=1文字で文字列長を算出する - end0tknr's kipple - web写経開発
http://d.hatena.ne.jp/end0tknr/20090316/1237158571 以前、書いた \p{In〜}によるblock正規表現に関連... http://d.hatena.ne.jp/end0tknr/20090316/1237158571 以前、書いた \p{In〜}によるblock正規表現に関連する内容です。 「use utf8;」の場合、全角or半角に関わらず1文字として扱ってしまうので、次のように書けば、全角=2文字,半角=1文字で文字列長を算出できます。 #!/usr/local/bin/perl use strict; use utf8; main(); sub main { my @STRS = qw/123 東京 東京123/; for my $str (@STRS){ my @not_asciis = $str =~ /[^\p{InBasicLatin}]/go; my $ret_len = length($str) + scalar(@not_asciis); print STDERR "$ret_len