[rank:a]の検索結果
Perlのsubstr関数ではバイト単位の操作になるので、漢字、ひらがな、カタカナなどの全角文字を文字数で指定して部分文字列を取り出すことができません。それでは不都合なことも多いので、半角英数も全角文字も1文字として部分文字列を取り出すことができる関数を作成します。
以下はそのコードです。[Perl]UTF-8でエンコードされた文字列の文字数を取得するコードと同様に、文字の1バイト目のビットの状態を調べることによってその文字が何バイト文字を判定しています。
#!/usr/bin/perl
use strict;
use warnings;
my $testStr = "ABCDEFGあいうえおアイウエオ愛夢佐々木";
print "substr_utf8($testStr, 0, 5) = " . substr_utf8($testStr, 0, 5), "\n";
print "substr_utf8($testStr, 3, 3) = " . substr_utf8($testStr, 3, 3), "\n";
print "substr_utf8($testStr, 10, 4) = " . substr_utf8($testStr, 10, 4), "\n";
print "substr_utf8($testStr, 13, 5) = " . substr_utf8($testStr, 13, 5), "\n";
print "substr_utf8($testStr, 13) = " . substr_utf8($testStr, 13), "\n";
exit;
# UTF-8でエンコードされた文字列の部分文字列を取り出す
# substr_utf8 (文字列式, オフセット[, 長さ])長さを指定しなかった場合は最後まで
sub substr_utf8 {
my ($src, $offset, $len) = @_;
my $srclen = length($src);
my $pos = 0;
my $count = 0;
my $dest = '';
while ($pos < $srclen) {
my $code = ord substr($src, $pos, 1); # 先頭のASCIIコード値を取得
my $bytelen = _bytesize($code);
if (defined($len)){
if ($count >= $offset && $count < ($offset + $len)) {
$dest .= substr($src, $pos, $bytelen);
}
} else { # 長さ指定なし
if ($count >= $offset) {
$dest .= substr($src, $pos, $bytelen);
}
}
$pos += $bytelen;
$count++; # 文字数をカウント
}
return $dest;
}
# 文字のバイト長を求める
sub _bytesize {
my $code = shift;
my $size = 1;
if (0x80 & $code) { # 1バイト文字以外
$code <<= 1;
for my $i (2 .. 8) {
$size++;
$code <<= 1;
last if (!(0x80 & $code));
}
}
return $size;
}
substr_utf8関数では、substr関数を使用して1バイト目のASCIIコード値を取得し、 _bytesize関数を呼び出して文字のバイト数を求め、その文字がパラメータで指定された範囲の場合は、戻り値として返す文字列に連結し、そうでなかった場合は文字数のカウントアップのみ行なっています。
_bytesize関数ではパラメータで渡されたコード値の場合の文字のバイト数を、コード値のビットの状態から判定し戻り値として返しています。
もっと自在にサーバを使い倒す 業務に役立つPerl (Software Design plus)
技術評論社 著者:木本 裕紀
amazon.co.jpのカスタマーレビューを見る
powered by amalink
しかし、日本将棋連盟による三浦九段への処分については「非常事態における措置としてやむを得なかった」としており、雇い主である日本将棋連盟に配慮した意味不明な内容となっている。
証拠がなく無実であるなら、処分は不当だったとするべきで、無実の人間を処分するのが正しいというのは北朝鮮並みの発想としか言いようがない。
日本将棋連綿は処分を直ちに停止し、三浦九段を挑戦者として竜王戦をやり直すべきだろう。
将棋・三浦九段に「不正の証拠なし」 第三者委「ソフトと一致」は誤認
鉄壁!トーチカ戦法 (パワーアップシリーズ)
日本将棋連盟 著者:三浦 弘行
amazon.co.jpのカスタマーレビューを見る
powered by amalink
ビットコイン現物投資型の上場投資信託(ETF)が米当局に承認されるという期待が高くなっていることで、ビットコイン(Bitcoin)だけでなく、イーサリアム(Ethereum)等の他の暗号通貨(Cryptocurrency、仮想通貨)も大きく上昇しています。
ビットコインのETFはすぐに承認されなくても、いずれは承認される可能性は高いようですので、今後さらなる上昇が見込まれる、ビットコインをはじめとする暗号通貨は買って置いた方が良さそうです。期待通り承認された場合はバブル再開もあり得ます。
ただし、承認されなかった場合の下げも非常に大きいと思われますので、レバレッジを掛けて持つと最終的には上げたとしても、途中の下げで力尽きてしまうことも考えれます。一時的に大きく下げても耐えられるように現物で持つのが良いでしょう。
アクセスランキング
今日のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (3 PV)
- [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (2 PV)
- 2ちゃんねる(2ch) (2 PV)
- SQLのSELECT文でn件目からm件目までのレコードを取得する方法(Oracle、SQL Server、MySQL、PostgreSQL) (1 PV)
- JPubb(ジェイパブ) (1 PV)
- FC2まとめ (1 PV)
- 情報大航海プロジェクトの意義はあるのか (1 PV)
- 裁量トレードを自動化する裁量補助EA「AutoScalper Demo」 (1 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (1 PV)
- Google Maps(グーグルマップ)日本版 - 地図検索、ルート検索 (1 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (205 PV)
- 海外掲示板を読むために気になったスラング系英単語まとめ | Kousyoublog (49 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (45 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (42 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (40 PV)
- FC2まとめ (25 PV)
- 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (24 PV)
- YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (24 PV)
- StartPage(スタートページ) - 匿名検索エンジン (23 PV)
- MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (21 PV)
アクセス統計
ディレクトリ
関連サイト



