るりまサーチ

最速Rubyリファレンスマニュアル検索!
312件ヒット [101-200件を表示] (0.053秒)
トップページ > クエリ:@[x] > クエリ:ruby[x] > クラス:StringScanner[x] > 種類:インスタンスメソッド[x]

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

<< < 1 2 3 4 > >>

StringScanner#pos=(n) (26.0)

スキャンポインタのインデックスを 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(/\w+/) # => "est"
p s.pos = 7 # => 7
p s.scan(/\w+/) # => "ring"

begin
s.pos = 20
rescue RangeError => err
puts err #=> index out of range
e...

StringScanner#unscan -> self (26.0)

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

...[ruby]{
require 'strscan'

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


@
return selfを返します。

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

@
raise StringScanner::Error 2 回分以上戻そうとした時や、
まだマッチを一度も行ってい...
...が失敗していた時に発生します。

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

s = StringScanner.new('test string')
begin
# マッチを一度も行っていないので、例外が発生する。
s.unscan
rescue StringScanner::Error => err
puts err
# 出力例
#=> unscan failed: p...

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

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

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

p case1("EUC-JP") #=> 2
//}

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

//emlist[例][ruby]{
req...
...uire 'strscan'

s = StringScanner.new('test string')
p s.match?(/\w+/) #=> 4
p s.match?(/\w+/) #=> 4
p s.match?(/\s+/) #=> nil
//}...

StringScanner#string=(str) (20.0)

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

...更して、マッチ記録を捨てます。

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

@
return str を返します。

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

str = '0123'
s = StringScanner.new('test string')
s.string = str # => "0123...

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

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

...
失敗していると常に nil を返します。

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


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

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

絞り込み条件を変える

StringScanner#charpos -> Integer (14.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#check(regexp) -> String | nil (14.0)

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

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

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

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

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

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

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

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

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

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

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

StringScanner#clear -> self (14.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] # => nil
s.pos # => 11
//}

StringScanner
#clear は将来のバージョンで削除される予定です。
代わりに StringScanner#terminate を使ってください。...
<< < 1 2 3 4 > >>