[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

[2244] Posted by kagahiro at 2012/12/13 10:51:25
0 point | Link (4) | Trackback (0) | Comment (0)

将棋のプロ棋士三浦弘行九段が将棋ソフトを不正使用した疑いにより竜王戦での挑戦権を剥奪される処分を受けた問題で、日本将棋連盟が設置した調査委員会が「不正行為に及んでいた証拠はない」報告書を発表した。

しかし、日本将棋連盟による三浦九段への処分については「非常事態における措置としてやむを得なかった」としており、雇い主である日本将棋連盟に配慮した意味不明な内容となっている。

証拠がなく無実であるなら、処分は不当だったとするべきで、無実の人間を処分するのが正しいというのは北朝鮮並みの発想としか言いようがない。

日本将棋連綿は処分を直ちに停止し、三浦九段を挑戦者として竜王戦をやり直すべきだろう。

将棋・三浦九段に「不正の証拠なし」 第三者委「ソフトと一致」は誤認

鉄壁!トーチカ戦法 (パワーアップシリーズ)
日本将棋連盟 著者:三浦 弘行


amazon.co.jpのカスタマーレビューを見る
powered by amalink

[2609] Posted by kagahiro at 2016/12/27 11:52:16
1 point | Link (2) | Trackback (0) | Comment (1)

ビットコイン現物投資型の上場投資信託(ETF)が米当局に承認されるという期待が高くなっていることで、ビットコイン(Bitcoin)だけでなく、イーサリアム(Ethereum)等の他の暗号通貨(Cryptocurrency、仮想通貨)も大きく上昇しています。

ビットコインのETFはすぐに承認されなくても、いずれは承認される可能性は高いようですので、今後さらなる上昇が見込まれる、ビットコインをはじめとする暗号通貨は買って置いた方が良さそうです。期待通り承認された場合はバブル再開もあり得ます。

ただし、承認されなかった場合の下げも非常に大きいと思われますので、レバレッジを掛けて持つと最終的には上げたとしても、途中の下げで力尽きてしまうことも考えれます。一時的に大きく下げても耐えられるように現物で持つのが良いでしょう。

ビットコインが3万6000ドル突破、ETF承認への期待高まる

[3261] Posted by kagahiro at 2023/11/11 09:23:24
0 point | Link (2) | Trackback (0) | Comment (0)

PFUが、Happy Hacking Keyboard(HHKB)シリーズ発売10周年を記念し、筐体にアルミ削り出しフレームを採用した「HHKB Professional HG」と、キートップに輪島塗を施した特別モデル「HHKB Professional HG JAPAN」の2...
[868] Posted by kagahiro at 2006/10/14 20:40:14
2 point | Link (1) | Trackback (2) | Comment (0)

リンクベイティング(リンク餌撒き)とは、マーケティング目的で行われる「釣り」や「煽り」のことで、ターゲットとなる人々がリンクしたくなるようなコンテンツを提供することや、コミュニティで論争を誘発するよう...
[983] Posted by kagahiro at 2007/02/19 10:47:34
0 point | Link (4) | Trackback (0) | Comment (0)

拡張機能やブックマーク同期機能が利用可能な Google Chrome 4.0 安定版がリリースされたとのこと。Google Chrome 4.0 による拡張およびブックマーク同期機能、最新 Web 標準機能の提供拡張(Extensions)ギャラリー...
[1731] Posted by kagahiro at 2010/01/27 23:09:20
2 point | Link (1) | Trackback (1) | Comment (1)

経済産業省がIT政策に関する意見を一般から募集するサイト「経済産業省アイディアボックス」を開設。「アイディアボックス」では、新規アイデアの投稿、投稿されたアイデアに対するコメント投稿、投稿されたアイデア...
[1746] Posted by kagahiro at 2010/02/17 14:13:37
0 point | Link (1) | Trackback (0) | Comment (0)

朝スキャとは、日本時間早朝(6時から7時)のレンジ相場になりやすい比較的値動きの緩やかな時間を狙ってスキャルピングを行う手法のことで、買われすぎ売られすぎの反発を狙って逆張りでエントリーします。トレンド相...
[3281] Posted by kagahiro at 2024/03/09 17:39:37
0 point | Link (3) | Trackback (0) | Comment (0)

ナンピン (難平) とは、相場が予想とは逆方向に動いて保有しているポジションが含み損になった場合に、さらに同じ方向にポジションを追加して平均取得単価を下げる取引手法です。ナンピンして平均取得単価を下げるこ...
[3249] Posted by kagahiro at 2023/08/10 17:20:20
0 point | Link (6) | Trackback (0) | Comment (0)

シックス・アパートが、企業向けウェブサイト管理ソフトウェア「Movable Type Advanced (ムーバブル・タイプ・アドバンスト)」の出荷を開始した。「Movable Type Advanced」は、ウェブサイト管理ソフトウェアの最新...
[1868] Posted by kagahiro at 2010/05/12 13:06:21
0 point | Link (1) | Trackback (0) | Comment (0)

|< 先頭へ  < 前へ  42 43 44 45 46  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (3 PV)
  2. [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (2 PV)
  3. 2ちゃんねる(2ch) (2 PV)
  4. SQLのSELECT文でn件目からm件目までのレコードを取得する方法(Oracle、SQL Server、MySQL、PostgreSQL) (1 PV)
  5. JPubb(ジェイパブ) (1 PV)
  6. FC2まとめ (1 PV)
  7. 情報大航海プロジェクトの意義はあるのか (1 PV)
  8. 裁量トレードを自動化する裁量補助EA「AutoScalper Demo」 (1 PV)
  9. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (1 PV)
  10. Google Maps(グーグルマップ)日本版 - 地図検索、ルート検索 (1 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (205 PV)
  2. 海外掲示板を読むために気になったスラング系英単語まとめ | Kousyoublog (49 PV)
  3. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (45 PV)
  4. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (42 PV)
  5. 2NN 2ちゃんねるニュース速報+ナビ (40 PV)
  6. FC2まとめ (25 PV)
  7. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (24 PV)
  8. YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (24 PV)
  9. StartPage(スタートページ) - 匿名検索エンジン (23 PV)
  10. MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (21 PV)

アクセス統計

ディレクトリ

関連サイト