るりまサーチ

最速Rubyリファレンスマニュアル検索!
576件ヒット [1-100件を表示] (0.115秒)
トップページ > クエリ:t[x] > クエリ:StringScanner[x] > クラス:StringScanner[x] > クエリ:string[x] > クエリ:scan[x]

別のキーワード

  1. strscan stringscanner
  2. stringscanner string=
  3. stringscanner string
  4. stringscanner unscan
  5. stringscanner scan

ライブラリ

キーワード

検索結果

<< 1 2 3 ... > >>

StringScanner#string -> String (54505.0)

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

...t[例][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
//}

なお、このメソッドは StringScan...
...仕様に依存したコードを書かないようにしましょう。

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

str = 'test string'
s = StringScanner.new(str)
s.string == str # => true
s.string.eql?(str) # => true (将来は false になる可能性がある)
//}

また、返り値の文字列...
...ないでください。

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

str = 'test string'
s = StringScanner.new(str)
s.string.replace("0123")
s.scan(/\w+/) # => "0123" (将来は "test" が返る可能性あり)
str # => "0123" (将来は "test string" が返る可能性あり)
//}...

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

スキャンポインタの地点だけで 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(/\w+/) #=> "string"
p s.scan(/./) #=> nil
//}...

StringScanner#string=(str) (42326.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"
//}...

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

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

...を返します。

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

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

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

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

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

...、s と f の値によって以下のように動作します。

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

* scan_full(regexp, true, true) は StringScanner#scan と同等。
* scan_full(regexp, true, false) は StringScanner#skip と同等。
* scan_full(regexp, false, true) は StringScanner#check と同等。
* scan_full(regexp, false, false) は StringScanner#match? と同等...
...@param f true ならばマッチした部分文字列を返します。
false ならばマッチした部分文字列の長さを返します。

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

s = StringScanner.new('test string')
p s.scan_full(/\w+/, true, true) #=> "test"
p s.scan_full(/\s+...

絞り込み条件を変える

StringScanner#terminate -> self (36237.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 を使ってください。...

StringScanner#unscan -> self (36185.0)

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

...st[例][ruby]{
require 'strscan'

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


@return selfを返します。

このメソッドでポインタを戻せるのは 1 回分だけです。
2 回分以上戻そうとしたときは例外 String...
... StringScanner::Error が発生します。

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

//emlist[例...
...uire 'strscan'

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

StringScanner#inspect -> String (33278.0)

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

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

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

* スキャナポインタの現在位置。
* スキャン対象の文字列の長さ。
* スキャンポインタの前後にある文字。...
...ist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.inspect # => "#<StringScanner 0/11 @ \"test ...\">"
s.scan(/\w+/) # => "test"
s.inspect # => "#<StringScanner 4/11 \"test\" @ \" stri...\">"
s.scan(/...
...\s+/) # => " "
s.inspect # => "#<StringScanner 5/11 \"test \" @ \"strin...\">"
s.scan(/\w+/) # => "string"
s.inspect # => "#<StringScanner fin>"
//}...

StringScanner#post_match -> String | nil (33262.0)

前回マッチを行った文字列のうち、マッチしたところよりも後ろの 部分文字列を返します。前回のマッチが失敗していると常に 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_match # => "string"
s.scan(/\w+/) # => "string"
s.post_match # =>...
...""
s.scan(/\w+/) # => nil
s.post_match # => nil
//}...
<< 1 2 3 ... > >>