Movatterモバイル変換


[0]ホーム

URL:


Yukun's Blog

難しいことを簡単に分かりやすく紹介

フォローする

Rubyで文字列から日本語文字をインデックス指定する

Ruby

RubyのStringインスタンスに格納されている文字列のインデックスを得るにはchrメソッドを用います。

ソースコード

# chrは文字コードObjを文字列Objに変換するメソッドstr1 = "abcdef"p str1[2]     #=> 99p str1[2].chr #=> "c"

インデックスはバイト換算

なので、2バイト長の日本語文字などは取り出せません。

str2 = "あいうえお"p    str2[2]                   #=> 130puts str2[2]                   #=> 130p    str2[2].chr               #=> "\202"puts str2[2].chr + str2[3].chr #=> "い"

そこで、

日本語文字列のインデックス指定はsplitメソッドで一旦配列に分割

str2  = "あいうえお"jarr3 = str2.split(//s) # 文字コードがSJISの場合puts  jarr3[3] #=> え

多バイト長の文字列処理を扱ったソースを読み込んで慣れていこうかな。

関連記事

NO IMAGE

Ruby: lambdaメソッドを使いブロックをオブジェクト化

に関して、練習します。他の言語と比較してRubyのコードブロックの扱いは特徴的で扱い難そうに見えますが、使いこなせればコード量を減らせるし...

NO IMAGE

POSTメソッドを用いてExcite翻訳を行うRubyコード

しかし、未完です。Webの巡回などにはWWW::Mechanizeという便利なライブラリがありますが、あえてnet/httpのPOSTメソ...

NO IMAGE

Webページから指定したタグの要素を抜き出すRuby関数

単一のWebページから抜き出した複数の要素を配列に格納して返します。以下の例はaタグの要素(エレメント)を抽出した場合です。Rubyコー...

NO IMAGE

チャットログから本文を抽出

先日、メッセンジャーのチャットで会話するボットを作りました。 そのボットに「学習」させるネタに、会話文であるWindows Live Mes...

NO IMAGE

タグの中の要素を抜き出すRuby関数

ライブラリを使えば簡単ですが、正規表現の学習の為に。ソースコードdef return_between(unporsed, start,...

NO IMAGE

とあるボットのチャットログ

人工無脳とのチャットログyukun> こんにちはbot > こんちはyukun> 元気してた?bot > 元気に、そう見えても、おかし...

NO IMAGE

Ruby: メソッドの引数にブロックを渡す

ブロックの使い方を練習してみます。def repeat(n) n.times { yield } if block_given?e...

Ruby 1.9.3インストール: yumリポジトリ追加時の依存性の欠如エラー – libyaml

ほったらかしにしていたとある自鯖のRedmineのアップグレードに際し、Ruby 1.9系のビルドに必要なlibyamlをyumでインストー...

NO IMAGE

JavaとRubyで文字列の終端の扱いの違い

RubyのコードをJavaに書き直す際に注意する相違点が幾つかあったので、そのうちの一つを挙げてみます。特に文字列関係は色々やりにくいです。...

NO IMAGE

Rubyで引数の設定値によって4パターンの部分文字列を取得するラッパー関数

引数に設定値を与え、それによって挙動を変えることで、似た機能をまとめてみます。追記(2008.2.8):正規表現のマッチを保持する変数があ...


コメントをどうぞコメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

検索


Sponsored Link

最近の投稿

カテゴリー

アーカイブ

最近のコメント


[8]ページ先頭

©2009-2025 Movatter.jp