文字列を指定すると、英語または日本語(ワイド文字)または他の言語を含む可能性があります。Rubyでさまざまな言語の入力を部分文字列に変換する方法は?
この文字列の最初の文字/部分文字列を取得するにはどうすればよいですか?
例:=> "G" "日本" を "与える" => "日"
ありがとう!
文字列を指定すると、英語または日本語(ワイド文字)または他の言語を含む可能性があります。Rubyでさまざまな言語の入力を部分文字列に変換する方法は?
この文字列の最初の文字/部分文字列を取得するにはどうすればよいですか?
例:=> "G" "日本" を "与える" => "日"
ありがとう!
あなたは 'ActiveRecordの' を持っている場合、あなたはmb_charsを使用することができますactivesupportののChars
class
string = "日本"
string.mb_chars[0]
=> "日"
を使用することができます。
それとも、標準ライブラリを使用することができます
str = '日本'
str.codepoints.take(1)
#日
を「コードポイント」は、文字列の実際のエンコーディングによって列挙子を与え、あなたがしたい文字の任意の金額がかかります「を取ります」。または使用できます
str.codepoints.to_a[0]
文字列のエンコーディングを配列に変換します。短い弦は良いですが大きな弦は良いわけではありません。
これは、限り、あなたの文字列に設定された正しいエンコーディングを持っているとしてルビーすることで構築されています。
$ ruby -ve 'p "日本".encoding, "日本"[0]'
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]
#<Encoding:UTF-8>
"日"
mb_charsものActiveRecordを使用する必要はありません。