るりまサーチ (Ruby 2.5.0)

最速Rubyリファレンスマニュアル検索!
90件ヒット [1-90件を表示] (0.056秒)

別のキーワード

  1. string []=
  2. string slice
  3. string []
  4. string slice!
  5. string gsub

検索結果

String#scan(pattern) -> [String] | [[String]] (118012.0)

self に対して pattern を繰り返しマッチし、 マッチした部分文字列の配列を返します。

self に対して pattern を繰り返しマッチし、
マッチした部分文字列の配列を返します。

pattern が正規表現で括弧を含む場合は、
括弧で括られたパターンにマッチした部分文字列の配列の配列を返します。

@param pattern 探索する部分文字列または正規表現

//emlist[例][ruby]{
p "foobar".scan(/../) # => ["fo", "ob", "ar"]
p "foobar".scan("o") # => ["o", "o"]
p "foobarbazfoobarbaz".sc...

String#scan(pattern) {|s| ... } -> self (117382.0)

pattern がマッチした部分文字列をブロックに渡して実行します。 pattern が正規表現で括弧を含む場合は、 括弧で括られたパターンにマッチした文字列の配列を渡します。

pattern がマッチした部分文字列をブロックに渡して実行します。
pattern が正規表現で括弧を含む場合は、
括弧で括られたパターンにマッチした文字列の配列を渡します。

@param pattern 探索する部分文字列または正規表現

//emlist[例][ruby]{
"foobarbazfoobarbaz".scan(/ba./) {|s| p s }
# "bar"
# "baz"
# "bar"
# "baz"

"foobarbazfoobarbaz".scan("ba") {|s| p s }
# "ba"
# "ba"
# "ba"
# "ba"

"foobarb...

String#scanf(format) -> Array (81337.0)

ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。

ブロックを指定しない場合、見つかった文字列を format に従って変
換し、そのオブジェクトの配列を返します。
format で指定した文字列が見つからない場合は空の配列を
生成して返します。

require 'scanf'
str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]

ブロックを指定した場合は scanf を継続して実行し、順次
見つかった文字列を変換したオブジェクトの配列を引数に、ブロックを
実行します。このとき、ブロックの実行結果を要素とする配列を返します。

requir...

String#scanf(format) {|*ary| ...} -> Array (81337.0)

ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。

ブロックを指定しない場合、見つかった文字列を format に従って変
換し、そのオブジェクトの配列を返します。
format で指定した文字列が見つからない場合は空の配列を
生成して返します。

require 'scanf'
str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]

ブロックを指定した場合は scanf を継続して実行し、順次
見つかった文字列を変換したオブジェクトの配列を引数に、ブロックを
実行します。このとき、ブロックの実行結果を要素とする配列を返します。

requir...

StringScanner#scan(regexp) -> String | nil (72733.0)

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタを進めて正規表現にマッチした 部分文字列を返します。マッチしなかったら nil を返します。

スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタを進めて正規表現にマッチした
部分文字列を返します。マッチしなかったら nil を返します。

@param regexp マッチに用いる正規表現を指定します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.scan(/\w+/) #=> "test"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/...

絞り込み条件を変える

String#gsub(pattern) {|matched| .... } -> String (63370.0)

文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

文字列中で pattern にマッチした部分を順番にブロックに渡し、
その実行結果で置き換えた文字列を生成して返します。
ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。

@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列

//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
...

String#gsub(pattern, replace) -> String (63355.0)

文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。

文字列中で pattern にマッチする部分全てを
文字列 replace で置き換えた文字列を生成して返します。

置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。

@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した...

String#gsub(pattern, hash) -> String (63325.0)

文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。

文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。

@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ

//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
//}

String#gsub(pattern) -> Enumerator (63070.0)

文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

文字列中で pattern にマッチした部分を順番にブロックに渡し、
その実行結果で置き換えた文字列を生成して返します。
ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。

@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列

//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
...

StringScanner (37063.0)

StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。

StringScanner は文字列スキャナクラスです。
簡単に高速なスキャナを記述できます。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('This is an example string')
s.eos? #=> false

p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/\s+/) #=> nil
p s.scan(/\w+/) #=> "is"...

絞り込み条件を変える

StringScanner#string -> String (36823.0)

スキャン対象にしている文字列を返します。

スキャン対象にしている文字列を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.string # => "test string"
//}

返り値は freeze されていません。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.string.frozen? # => false
//}

なお、このメソッドは StringScanner.new に渡した
文字列をその...

StringScanner#scan_until(regexp) -> String | nil (36643.0)

regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。

regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。

@param regexp マッチに用いる正規表現を指定します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan_until(/str/) # => "test str"
s.matched # => "str"
s.pos ...

StringScanner#scan_full(regexp, s, f) -> object (36538.0)

スキャンポインタの位置から regexp と文字列のマッチを試します。

スキャンポインタの位置から regexp と文字列のマッチを試します。

マッチに成功すると、s と f の値によって以下のように動作します。

* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばマッチした部分文字列を返します。
* f が false ならばマッチした部分文字列の長さを返します。

マッチに失敗すると s や f に関係なく nil を返します。

このメソッドは s と f の組み合わせにより、
他のメソッドと同等の動作になります。

*...

StringScanner#unscan -> self (36427.0)

スキャンポインタを前回のマッチの前の位置に戻します。

スキャンポインタを前回のマッチの前の位置に戻します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.unscan
s.scan(/\w+/) # => "test"
//}


@return selfを返します。

このメソッドでポインタを戻せるのは 1 回分だけです。
2 回分以上戻そうとしたときは例外 StringScanner::Error が発生します。
また、まだマッチを一度も行っていないときや、
前回のマッチが失敗してい...

StringScanner#string=(str) (36358.0)

スキャン対象の文字列を str に変更して、マッチ記録を捨てます。

スキャン対象の文字列を str に変更して、マッチ記録を捨てます。

@param str スキャン対象の文字列を str に変更して、マッチ記録を捨てます。

@return str を返します。

//emlist[例][ruby]{
require 'strscan'

str = '0123'
s = StringScanner.new('test string')
s.string = str # => "0123"
s.scan(/\w+/) # => "0123"
//}

絞り込み条件を変える

Scanf::FormatString#string_left (36304.0)

@todo

@todo

Scanf::FormatSpecifier#matched_string (27304.0)

@todo

@todo

Scanf::FormatSpecifier#re_string (27304.0)

@todo

@todo

Scanf::FormatString (27001.0)

StringScanner.new(str, dup = false) -> StringScanner (18673.0)

新しい StringScanner オブジェクトを生成します。

新しい StringScanner オブジェクトを生成します。

@param str スキャン対象の文字列を指定します。

@param dup dup は単に無視します。
引数の文字列は複製も freeze もされず、そのまま使います。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('This is an example string')
s.eos? #=> false

p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #...

絞り込み条件を変える

StringScanner#peek(bytes) -> String (18487.0)

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

また、このメソッドを実行してもスキャンポインタは移動しません。

StringScanner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使ってください。

@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の...

StringScanner#peep(bytes) -> String (18487.0)

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

また、このメソッドを実行してもスキャンポインタは移動しません。

StringScanner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使ってください。

@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の...

StringScanner#post_match -> String | nil (18466.0)

前回マッチを行った文字列のうち、マッチしたところよりも後ろの 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。

前回マッチを行った文字列のうち、マッチしたところよりも後ろの
部分文字列を返します。前回のマッチが失敗していると常に nil を
返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.post_match # => nil
s.scan(/\w+/) # => "test"
s.post_match # => " string"
s.scan(/\w+/) # => nil
s.post_match # => nil
s.scan(/\s+/) # => " "
s.post...

StringScanner#rest -> String (18448.0)

文字列の残り (rest) を返します。 具体的には、スキャンポインタが指す位置からの文字列を返します。

文字列の残り (rest) を返します。
具体的には、スキャンポインタが指す位置からの文字列を返します。

スキャンポインタが文字列の末尾を指していたら空文字列 ("") を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.rest # => "test string"
s.scan(/\w+/) # => "test"
s.rest # => " string"
s.scan(/\s+/) # => " "
s.rest #...

StringScanner#[](nth) -> String | nil (18430.0)

前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を 返します。インデックス 0 はマッチした部分全体です。前回のマッチが 失敗していると常に nil を返します。

前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を
返します。インデックス 0 はマッチした部分全体です。前回のマッチが
失敗していると常に nil を返します。

@param nth 前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を
返します。


//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan(/\w(\w)(\w*)/) # => "test"
s[0] # => "test"...

絞り込み条件を変える

StringScanner#pre_match -> String | nil (18430.0)

前回マッチを行った文字列のうち、マッチしたところよりも前の 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。

前回マッチを行った文字列のうち、マッチしたところよりも前の
部分文字列を返します。前回のマッチが失敗していると常に nil を
返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.pre_match # => nil
s.scan(/\w+/) # => "test"
s.pre_match # => ""
s.scan(/\w+/) # => nil
s.pre_match # => nil
s.scan(/\s+/) # => " "
s.pre_match ...

StringScanner#inspect -> String (18394.0)

StringScannerオブジェクトを表す文字列を返します。

StringScannerオブジェクトを表す文字列を返します。

文字列にはクラス名の他、以下の情報が含まれます。

* スキャナポインタの現在位置。
* スキャン対象の文字列の長さ。
* スキャンポインタの前後にある文字。上記実行例の @ がスキャンポインタを表します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.inspect # => "#<StringScanner 0/11 @ \"test .....

StringScanner#matched -> String | nil (18376.0)

前回マッチした部分文字列を返します。 前回のマッチに失敗していると nil を返します。

前回マッチした部分文字列を返します。
前回のマッチに失敗していると nil を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.matched # => nil
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.scan(/\w+/) # => nil
s.matched # => nil
s.scan(/\s+/) # => " "
s.matched # => " "
//}

IO#scanf(format) -> Array (18367.0)

String#scanfも参照してください。

String#scanfも参照してください。

@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。

IO#scanf(format) {|*ary| ...} -> Array (18367.0)

String#scanfも参照してください。

String#scanfも参照してください。

@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。

絞り込み条件を変える

StringScanner#check(regexp) -> String | nil (18322.0)

現在位置から regexp とのマッチを試みます。 マッチに成功したらマッチした部分文字列を返します。 マッチに失敗したら nil を返します。

現在位置から regexp とのマッチを試みます。
マッチに成功したらマッチした部分文字列を返します。
マッチに失敗したら nil を返します。

このメソッドはマッチが成功してもスキャンポインタを進めません。

@param regexp マッチに用いる正規表現を指定します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.check(/\w+/) # => "test"
s.pos # => 0
s.matched # => "test"
s.check(...

StringScanner#check_until(regexp) -> String | nil (18322.0)

regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。

regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。

このメソッドはマッチが成功してもスキャンポインタを進めません。

@param regexp マッチに用いる正規表現を指定します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.check_until(/str/) # => "test str"
s.matched # => "str...

Kernel#scanf(format) -> Array (18319.0)

STDIN.scanf と同じです。 IO#scanf、Stdin#scanfも参照してください。

STDIN.scanf と同じです。
IO#scanf、Stdin#scanfも参照してください。

@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。

@see IO#scanf, Stdin#scanf

Kernel#scanf(format) {|*ary| ...} -> Array (18319.0)

STDIN.scanf と同じです。 IO#scanf、Stdin#scanfも参照してください。

STDIN.scanf と同じです。
IO#scanf、Stdin#scanfも参照してください。

@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。

@see IO#scanf, Stdin#scanf

StringScanner#get_byte -> String | nil (18307.0)

1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。

1 バイトスキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すなら nil を返します。

StringScanner#getbyte は将来のバージョンで削除される予定です。
代わりに StringScanner#get_byte を使ってください。

//emlist[例][ruby]{
require 'strscan'

utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("EUC-JP"))
p s.get_byte #=> "\xA4"
p ...

絞り込み条件を変える

StringScanner#getbyte -> String | nil (18307.0)

1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。

1 バイトスキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すなら nil を返します。

StringScanner#getbyte は将来のバージョンで削除される予定です。
代わりに StringScanner#get_byte を使ってください。

//emlist[例][ruby]{
require 'strscan'

utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("EUC-JP"))
p s.get_byte #=> "\xA4"
p ...

StringScanner#getch -> String | nil (18304.0)

一文字スキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すならnilを返します。

一文字スキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すならnilを返します。

一文字の定義は、与えた文字列のエンコードに依存します。

//emlist[例][ruby]{
require 'strscan'

utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("UTF-8"))
p s.getch # => "る"
p s.getch # => "び"
p s....

StringScanner::Id -> String (18304.0)

StringScanner クラスの詳しいバージョンを文字列で返します。 この文字列は Object#freeze されています。

StringScanner クラスの詳しいバージョンを文字列で返します。
この文字列は Object#freeze されています。

StringScanner::Version -> String (18304.0)

StringScanner クラスのバージョンを文字列で返します。 この文字列は Object#freeze されています。

StringScanner クラスのバージョンを文字列で返します。
この文字列は Object#freeze されています。

//emlist[例][ruby]{
require 'strscan'

StringScanner::Version # => "0.7.0"
StringScanner::Version.frozen? # => true
//}

scanf (18163.0)

String#scan のフォーマット指定版といえるメソッド String#scanf を定義します。

String#scan のフォーマット指定版といえるメソッド String#scanf
を定義します。

組み込みクラス String と IO を拡張します。

=== 例
require 'scanf'

p "a 10 1.2". scanf("%s %d %f") # => ["a", 10, 1.2]
p "a 10 1.2 b 20 1.5e10".scanf("%s %d %f") # => ["a", 10, 1.2]
p "a 10 1.2 b 20 1.5e10".scanf("%s %d %f") {|*v| v}
...

絞り込み条件を変える

StringScanner#pointer=(n) (18091.0)

スキャンポインタのインデックスを n にセットします。

スキャンポインタのインデックスを n にセットします。

@param n 整数で、バイト単位で指定します。
負数を指定すると文字列の末尾からのオフセットとして扱います。
@raise RangeError マッチ対象の文字列の長さを超える値を指定すると発生します。

@return n を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\...

StringScanner#pos=(n) (18091.0)

スキャンポインタのインデックスを n にセットします。

スキャンポインタのインデックスを n にセットします。

@param n 整数で、バイト単位で指定します。
負数を指定すると文字列の末尾からのオフセットとして扱います。
@raise RangeError マッチ対象の文字列の長さを超える値を指定すると発生します。

@return n を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\...

StringScanner#search_full(regexp, s, f) -> object (18091.0)

regexp で指定された正規表現とマッチするまで文字列をスキャンします。

regexp で指定された正規表現とマッチするまで文字列をスキャンします。

マッチに成功すると、s と f の値によって以下のように動作します。

* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばスキャン開始位置からマッチした部分の末尾までの部分文字列を返します。
* f が false ならばスキャン開始位置からマッチした部分の末尾までの部分文字列の長さを返します。

マッチに失敗すると s や f に関係なく nil を返します。

このメソッドは s と ...

StringScanner#<<(str) -> self (18073.0)

操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。

操作対象の文字列に対し str を破壊的に連結します。
マッチ記録は変更されません。

selfを返します。

@param str 操作対象の文字列に対し str を破壊的に連結します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.match(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] ...

StringScanner#concat(str) -> self (18073.0)

操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。

操作対象の文字列に対し str を破壊的に連結します。
マッチ記録は変更されません。

selfを返します。

@param str 操作対象の文字列に対し str を破壊的に連結します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.match(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] ...

絞り込み条件を変える

StringScanner#empty? -> bool (18073.0)

スキャンポインタが文字列の末尾を指しているなら true を、 末尾以外を指しているなら false を返します。

スキャンポインタが文字列の末尾を指しているなら true を、
末尾以外を指しているなら false を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.eos? # => false
s.scan(/\w+/)
s.scan(/\s+/)
s.scan(/\w+/)
s.eos? # => true
//}

StringScanner#empty? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使って...

StringScanner#eos? -> bool (18073.0)

スキャンポインタが文字列の末尾を指しているなら true を、 末尾以外を指しているなら false を返します。

スキャンポインタが文字列の末尾を指しているなら true を、
末尾以外を指しているなら false を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.eos? # => false
s.scan(/\w+/)
s.scan(/\s+/)
s.scan(/\w+/)
s.eos? # => true
//}

StringScanner#empty? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使って...

StringScanner#matched? -> bool (18073.0)

前回のマッチが成功していたら true を、 失敗していたら false を返します。

前回のマッチが成功していたら true を、
失敗していたら false を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.matched? # => false
s.scan(/\w+/) # => "test"
s.matched? # => true
s.scan(/\w+/) # => nil
s.matched? # => false
s.scan(/\s+/) # => " "
s.matched? # => true
//}

StringScanner#matched_size -> Integer | nil (18073.0)

前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。

前回マッチした部分文字列の長さを返します。
前回マッチに失敗していたら nil を返します。

マッチしたサイズは文字単位でなくバイト単位となります。

//emlist[][ruby]{
require 'strscan'

def run(encode)
utf8 = "\u{308B 3073 3044}" # るびい
s = StringScanner.new(utf8.encode(encode))
s.scan(/#{"\u{308B}".encode(encode)}/)
s.matched_size
end

p run("UTF-8") #=> 3
p...

StringScanner#pointer -> Integer (18073.0)

現在のスキャンポインタのインデックスを返します。

現在のスキャンポインタのインデックスを返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.pos # => 0
s.scan(/\w+/) # => "test"
s.pos # => 4
s.scan(/\w+/) # => nil
s.pos # => 4
s.scan(/\s+/) # => " "
s.pos # => 5
//}

@see StringScanner#charpos

絞り込み条件を変える

StringScanner#pos -> Integer (18073.0)

現在のスキャンポインタのインデックスを返します。

現在のスキャンポインタのインデックスを返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.pos # => 0
s.scan(/\w+/) # => "test"
s.pos # => 4
s.scan(/\w+/) # => nil
s.pos # => 4
s.scan(/\s+/) # => " "
s.pos # => 5
//}

@see StringScanner#charpos

StringScanner#rest? -> bool (18073.0)

文字列が残っているならば trueを、 残っていないならば false を返します。

文字列が残っているならば trueを、
残っていないならば false を返します。

StringScanner#eos? と逆の結果を返します。

StringScanner#rest? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使ってください。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.eos? # => false
p s.rest? # => true
s.scan(/\w+/)
s.scan...

StringScanner#beginning_of_line? -> bool (18055.0)

スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。

スキャンポインタが行頭を指しているなら true を、
行頭以外を指しているなら false を返します。

行頭の定義は、文字列先頭かまたは \n の直後を指していることです。
文字列末尾は必ずしも行頭ではありません。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new("test\nstring")
s.bol? # => true
s.scan(/\w+/)
s.bol? # => false
s.scan(/\n/)
s.bol? # => true
s.scan(/\w+/...

StringScanner#bol? -> bool (18055.0)

スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。

スキャンポインタが行頭を指しているなら true を、
行頭以外を指しているなら false を返します。

行頭の定義は、文字列先頭かまたは \n の直後を指していることです。
文字列末尾は必ずしも行頭ではありません。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new("test\nstring")
s.bol? # => true
s.scan(/\w+/)
s.bol? # => false
s.scan(/\n/)
s.bol? # => true
s.scan(/\w+/...

StringScanner#clear -> self (18055.0)

スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。

スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。

@return self を返します。

pos = self.string.size と同じ動作です。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]...

絞り込み条件を変える

StringScanner#terminate -> self (18055.0)

スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。

スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。

@return self を返します。

pos = self.string.size と同じ動作です。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]...

StringScanner#exist?(regexp) -> Integer | nil (18037.0)

スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。

スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。

マッチに失敗したら nil を返します。

このメソッドはマッチが成功してもスキャンポインタを進めません。

@param regexp マッチに用いる正規表現を指定します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.exist?(/s/) # => 3
s.exist?(//) # => 0
s.scan(/\w+/) # => "test"
s.exist?(/s/) # => 2
s.exis...

StringScanner#reset -> self (18037.0)

スキャンポインタを文字列の先頭 (インデックス 0) に戻し、 マッチ記録を捨てます。

スキャンポインタを文字列の先頭 (インデックス 0) に戻し、
マッチ記録を捨てます。

pos = 0と同じ動作です。

@return self を返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.reset
s.matched # => nil
s[0] ...

StringScanner#skip_until(regexp) -> Integer | nil (18037.0)

regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。 マッチに失敗したら nil を返します。

regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。
マッチに失敗したら nil を返します。

@param regexp マッチに使用する正規表現を指定します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan_until(/str/) # => 8
s.matched # => "str"
s.pos # =>...

Scanf (18019.0)

scanf ライブラリで使用する名前空間です。

scanf ライブラリで使用する名前空間です。

@see Kernel.#scanf, String#scanf, IO#scanf, Stdin#scanf

絞り込み条件を変える

StringScanner#charpos -> Integer (18019.0)

現在のスキャンポインタのインデックスを文字単位で返します。

現在のスキャンポインタのインデックスを文字単位で返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new("abcädeföghi")
s.charpos # => 0
s.scan_until(/ä/) # => "abcä"
s.pos # => 5
s.charpos # => 4
//}

@see StringScanner#pos

StringScanner#match?(regexp) -> Integer | nil (18019.0)

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。

スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタは進めずにマッチした
部分文字列の長さを返します。マッチしなかったら nil を
返します。

マッチしたサイズは文字単位でなくバイト単位となります。

//emlist[][ruby]{
require 'strscan'
def case1(encode)
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode(encode))
s.match?(/#{"\u{308B}".encode(encode)}/)...

StringScanner#rest_size -> Integer (18019.0)

文字列の残りの長さを返します。 stringscanner.rest.size と同じです。

文字列の残りの長さを返します。
stringscanner.rest.size と同じです。

StringScanner#restsize は将来のバージョンで削除される予定です。
代わりにStringScanner#rest_size を使ってください。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.rest_size # => 11
p s.rest.size # => 11
//}

StringScanner#restsize -> Integer (18019.0)

文字列の残りの長さを返します。 stringscanner.rest.size と同じです。

文字列の残りの長さを返します。
stringscanner.rest.size と同じです。

StringScanner#restsize は将来のバージョンで削除される予定です。
代わりにStringScanner#rest_size を使ってください。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.rest_size # => 11
p s.rest.size # => 11
//}

StringScanner#skip(regexp) -> Integer | nil (18019.0)

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたらスキャンポインタを進めマッチした部分文字列の 長さを返します。マッチしなかったら nil を返します。

スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたらスキャンポインタを進めマッチした部分文字列の
長さを返します。マッチしなかったら nil を返します。

@param regexp マッチに使用する正規表現を指定します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.skip(/\w+/) #=> 4
p s.skip(/\w+/) #=> nil
p s.skip(/\s+/) #=> 1
p s.skip(/\w+/) #=...

絞り込み条件を変える

Scanf::FormatString#last_match_tried (18001.0)

@todo

@todo

Scanf::FormatString#last_spec (18001.0)

@todo

@todo

Scanf::FormatString#last_spec_tried (18001.0)

@todo

@todo

Scanf::FormatString#match(str) (18001.0)

@todo

@todo

Scanf::FormatString#matched_count (18001.0)

@todo

@todo

絞り込み条件を変える

Scanf::FormatString#prune(n=matched_count) (18001.0)

@todo

@todo

Scanf::FormatString#space (18001.0)

@todo

@todo

Scanf::FormatString#spec_count (18001.0)

@todo

@todo

Scanf::FormatString#to_s (18001.0)

@todo

@todo

Scanf::FormatString.new(str) (18001.0)

@todo

@todo

絞り込み条件を変える

Scanf::FormatString::REGEX (18001.0)

@todo

@todo

Scanf::FormatString::SPECIFIERS (18001.0)

@todo

@todo

StringScanner#matchedsize -> Integer | nil (18001.0)

StringScanner#matched_size と同じです。

StringScanner#matched_size と同じです。

このメソッドは は将来のバージョンで削除される予定です。
代わりに StringScanner#matched_size を使ってください。

@see StringScanner#matched_size

StringScanner.must_C_version -> self (18001.0)

このメソッドは後方互換性のために定義されています。

このメソッドは後方互換性のために定義されています。

StringScanner::Error (18001.0)

スキャン中に発生したエラーをあらわす例外です。

スキャン中に発生したエラーをあらわす例外です。

絞り込み条件を変える

Psych::ScalarScanner#parse_time(string) -> Time (9322.0)

文字列を Time オブジェクトに変換します。

文字列を Time オブジェクトに変換します。

@param string 変換文字列

Psych::ScalarScanner#tokenize(string) -> object (9322.0)

YAML の scalar である文字列を Ruby のオブジェクトに変換した ものを返します。

YAML の scalar である文字列を Ruby のオブジェクトに変換した
ものを返します。

scanner = Psych::ScalarScanner.new
p scanner.tokenize("yes") # => true
p scanner.tokenize("year") # => "year"
p scanner.tokenize("12") # => 12

@param string 変換文字列

1.6.8から1.8.0への変更点(まとめ) (2017.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

URI.extract(str) -> [String] (343.0)

文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。

文字列 str に対してパターンマッチングを試み、
絶対URIにマッチした部分文字列からなる配列として返します。
抽出する URI がなければ空の配列を返します。

第2引数に文字列の配列 schemes が与えられた場合は
そのスキームだけを検索します。

ブロックが与えられた場合は String#scan と同様で、
マッチした部分がみつかるたびに uri_str に
その部分を代入してブロックを評価します。
このときは nil を返します。

このメソッドは Ruby 2.2 から obsolete です。

@param str 文字列を与えます。

@param schemes 検...

URI.extract(str, schemes) -> [String] (343.0)

文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。

文字列 str に対してパターンマッチングを試み、
絶対URIにマッチした部分文字列からなる配列として返します。
抽出する URI がなければ空の配列を返します。

第2引数に文字列の配列 schemes が与えられた場合は
そのスキームだけを検索します。

ブロックが与えられた場合は String#scan と同様で、
マッチした部分がみつかるたびに uri_str に
その部分を代入してブロックを評価します。
このときは nil を返します。

このメソッドは Ruby 2.2 から obsolete です。

@param str 文字列を与えます。

@param schemes 検...

絞り込み条件を変える

ruby 1.8.4 feature (343.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され...

ruby 1.9 feature (325.0)

ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。

ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。

記号について(特に重要なものは大文字(主観))

* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ...

Psych::Visitors::YAMLTree.new(options = {}, emitter = Psych::TreeBuilder.new, ss = Psych::ScalarScanner.new) -> Psych::Visitors::YAMLTree (319.0)

YAMLTree オブジェクトを生成します。

YAMLTree オブジェクトを生成します。

options には構築される YAML AST に設定されるオプション設定を指定します。
Psych.dump と同じオプションが指定できます。

emitter には AST の構築に使われる Psych::TreeBuilder オブジェクト
を渡します。

ss は Ruby の String が YAML document 上で quote が必要かどうか
を判定するための Psych::ScalarScanner オブジェクトを渡します。

emitter, ss は通常デフォルトのものから変える必要はないでしょう。

@param...

URI.extract(str) {|uri_str| ... } -> nil (43.0)

文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。

文字列 str に対してパターンマッチングを試み、
絶対URIにマッチした部分文字列からなる配列として返します。
抽出する URI がなければ空の配列を返します。

第2引数に文字列の配列 schemes が与えられた場合は
そのスキームだけを検索します。

ブロックが与えられた場合は String#scan と同様で、
マッチした部分がみつかるたびに uri_str に
その部分を代入してブロックを評価します。
このときは nil を返します。

このメソッドは Ruby 2.2 から obsolete です。

@param str 文字列を与えます。

@param schemes 検...

URI.extract(str, schemes) {|uri_str| ... } -> nil (43.0)

文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。

文字列 str に対してパターンマッチングを試み、
絶対URIにマッチした部分文字列からなる配列として返します。
抽出する URI がなければ空の配列を返します。

第2引数に文字列の配列 schemes が与えられた場合は
そのスキームだけを検索します。

ブロックが与えられた場合は String#scan と同様で、
マッチした部分がみつかるたびに uri_str に
その部分を代入してブロックを評価します。
このときは nil を返します。

このメソッドは Ruby 2.2 から obsolete です。

@param str 文字列を与えます。

@param schemes 検...

絞り込み条件を変える