別のキーワード
ライブラリ
- ビルトイン (223)
キーワード
- [] (72)
- byterindex (3)
- bytesize (12)
-
each
_ grapheme _ cluster (16) - length (12)
- rindex (12)
- slice (72)
- unpack (12)
検索結果
先頭5件
-
String
# size -> Integer (24227.0) -
文字列の文字数を返します。バイト数を知りたいときは bytesize メソッドを使ってください。
...いときは bytesize メソッドを使ってください。
//emlist[例][ruby]{
"test".length # => 4
"test".size # => 4
"テスト".length # => 3
"テスト".size # => 3
"\x80\u3042".length # => 2
"\x80\u3042".size # => 2
//}
@see String#bytesize... -
String
# bytesize -> Integer (15220.0) -
文字列のバイト長を整数で返します。
...文字列のバイト長を整数で返します。
//emlist[例][ruby]{
#coding:UTF-8
# 実行結果は文字コードによって異なります。
p "いろは".size #=> 3
p "いろは".bytesize #=> 9
//}
@see String#size... -
String
# [](nth) -> String | nil (9236.0) -
nth 番目の文字を返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目の文字を返します。
...self.size + nth 番目の文字を返します。
nth が範囲外を指す場合は nil を返します。
@param nth 文字の位置を表す整数
@return 指定した位置の文字を表す String オブジェクト
//emlist[例][ruby]{
p 'bar'[2] # => "r"
p 'bar'[2] == ?r # => true
p......'bar'[-1] # => "r"
p 'bar'[3] # => nil
p 'bar'[-4] # => nil
//}
このメソッドの仕様は 1.8.x 以前から大きく変更されていますので注意が必要
です。... -
String
# slice(nth) -> String | nil (9236.0) -
nth 番目の文字を返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目の文字を返します。
...self.size + nth 番目の文字を返します。
nth が範囲外を指す場合は nil を返します。
@param nth 文字の位置を表す整数
@return 指定した位置の文字を表す String オブジェクト
//emlist[例][ruby]{
p 'bar'[2] # => "r"
p 'bar'[2] == ?r # => true
p......'bar'[-1] # => "r"
p 'bar'[3] # => nil
p 'bar'[-4] # => nil
//}
このメソッドの仕様は 1.8.x 以前から大きく変更されていますので注意が必要
です。... -
String
# byterindex(pattern , offset = self . bytesize) -> Integer | nil (9232.0) -
文字列のバイト単位のインデックス offset から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。 見つからなければ nil を返します。
...は正規表現で指定します。
offset が負の場合は、文字列の末尾から数えた位置から探索します。
byterindex と String#byteindex とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索......//emlist[String#byteindex の場合][ruby]{
p "stringstring".byteindex("ing", 1) # => 3
# ing # ここから探索を始める
# ing
# ing # 右にずらしていってここで見つかる
//}
//emlist[String#byterindex の場合][ruby]{
p "stringstring".byterinde......x("ing", -1) # => 9
# ing # インデックス -1 の文字から探索を始める
# ing
# ing # 左にずらしていってここで見つかる
//}
@param pattern 探索する部分文字列または正規表現
@param offset 探索を始めるバ... -
String
# rindex(pattern , pos = self . size) -> Integer | nil (9227.0) -
文字列のインデックス pos から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
...列または正規表現で指定します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索......list[String#index の場合][ruby]{
p "stringstring".index("ing", 1) # => 3
# ing # ここから探索を始める
# ing
# ing # 右にずらしていってここで見つかる
//}
//emlist[String#rindex の場合][ruby]{
p "stringstring".rindex("ing", -1) # => 9......ンデックス
//emlist[例][ruby]{
p "astrochemistry".rindex("str") # => 10
p "character".rindex(?c) # => 5
p "regexprindex".rindex(/e.*x/, 2) # => 1
p "foobarfoobar".rindex("bar", 6) # => 3
p "foobarfoobar".rindex("bar", -6) # => 3
//}
@see String#index... -
String
# [](nth , len) -> String | nil (9216.0) -
nth 文字目から長さ len 文字の部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。
...r"
str0[2, 1] #=> "r"
str0[2, 0] #=> ""
str0[2, 100] #=> "r" (右側を超えても平気)
str0[-1, 1] #=> "r"
str0[-1, 2] #=> "r" (右に向かって len 文字)
str0[3, 1] #=> ""
str0[4, 1] #=> nil
str0[-4, 1] #=> nil
str1 = str0[0, 2]......# (str0 の「一部」を str1 とする)
str1 #=> "ba"
str1[0] = "XYZ"
str1 #=> "XYZa" (str1 の内容が破壊的に変更された)
str0 #=> "bar" (str0 は無傷、 str1 は str0 と内容を共有していない)
//}... -
String
# [](range) -> String (9216.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
...-1 (負のインデックス)
| a | b | c | d | e | f |
|<--------->| 'abcdef'[0..2] # => 'abc'
|<----->| 'abcdef'[4..5] # => 'ef'
|<--------->| 'abcdef'[2..4] # => 'cde'
range.last が文字列の長さ以上のときは
(文字列の........ 1] # => ""
'abcd'[ 2 .. 2] # => "c"
'abcd'[ 2 .. 3] # => "cd"
'abcd'[ 2 .. 4] # => "cd"
'abcd'[ 2 .. -1] # => "cd" # str[f..-1] は「f 文字目から
'abcd'[ 3 .. -1] # => "d" # 文字列の最後まで」を表す慣用句
'abcd'[ 1 .. 2] # => "bc"
'abcd'[ 2 .. 2] # => "c"
'abcd'......[ 3 .. 2] # => ""
'abcd'[ 4 .. 2] # => ""
'abcd'[ 5 .. 2] # => nil
'abcd'[-3 .. 2] # => "bc"
'abcd'[-4 .. 2] # => "abc"
'abcd'[-5 .. 2] # => nil
//}
=== rangeオブジェクトが終端を含まない場合
文字列と「隙間」の関係については以下の模式図を参照してく... -
String
# [](regexp , name) -> String (9216.0) -
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返 します。
...ない場合に発生します。
//emlist[例][ruby]{
s = "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/] # => "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/, "foo"] # => "Foo"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/, "bar"] # => "Bar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/, "baz"] # => IndexError
//}... -
String
# [](regexp , nth = 0) -> String (9216.0) -
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。 nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。 正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
...m regexp 取得したい文字列のパターンを示す正規表現
@param nth 取得したい正規表現レジスタのインデックス。整数
//emlist[例][ruby]{
p "foobar"[/bar/] # => "bar"
p $~.begin(0) # => 3
p "def getcnt(line)"[ /def\s+(\w+)/, 1 ] # => "getcnt"
//}...