るりまサーチ (Ruby 2.7.0)

最速Rubyリファレンスマニュアル検索!
48件ヒット [1-48件を表示] (0.054秒)
トップページ > バージョン:2.7.0[x] > クエリ:String[x] > クラス:StringScanner[x]

別のキーワード

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

ライブラリ

キーワード

検索結果

StringScanner#string -> String (27808.0)

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

...re '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 に渡し...
...この仕様に依存したコードを書かないようにしましょう。

//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" (将...

StringScanner#string=(str) (27343.0)

スキャン対象の文字列を 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#peek(bytes) -> String (9418.0)

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

...ire 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

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

StringScanner
#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使っ...
...列 ("") を返します。

@raise ArgumentError bytes に負数を与えると発生します。

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

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test string"
p s.peek(0) # => ""
begin
s.peek(-1)
rescue ArgumentEr...
....scan(/\w+/) # => "string"
p s.peek(4) # => ""

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

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

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

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

...ire 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

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

StringScanner
#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使っ...
...列 ("") を返します。

@raise ArgumentError bytes に負数を与えると発生します。

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

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test string"
p s.peek(0) # => ""
begin
s.peek(-1)
rescue ArgumentEr...
....scan(/\w+/) # => "string"
p s.peek(4) # => ""

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

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

StringScanner#rest -> String (9397.0)

文字列の残り (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#post_match -> String | nil (9379.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...

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

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

...規表現の nth 番目のかっこに対応する部分文字列を
返します。


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

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

StringScanner#inspect -> String (9343.0)

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

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

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

* スキャナポインタの現在位置。
* スキャン対象の文字列の長さ。
* スキャンポインタの前後にある文字。...
...list[例][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#pre_match -> String | nil (9343.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(/...

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

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

...ら 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(/./)...

絞り込み条件を変える

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

現在位置から 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(/\s+/) # => nil
s.matched # => nil...

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

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

...ンタを進めません。

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

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

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

StringScanner#matched -> String | nil (9325.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.sc...

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

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

...ら 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.new(str, dup = false) -> StringScanner (9322.0)

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

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

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

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

//emlist[例][ruby]{
require 'strs...

絞り込み条件を変える

StringScanner#get_byte -> String | nil (9310.0)

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

...すなら nil を返します。

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

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

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

StringScanner#getbyte -> String | nil (9310.0)

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

...すなら nil を返します。

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

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

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

StringScanner#getch -> String | nil (9307.0)

一文字スキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら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.getch...

StringScanner::Id -> String (9307.0)

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

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

StringScanner::Version -> String (9307.0)

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

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

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

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

絞り込み条件を変える

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

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

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

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

この操作は StringScanner.new に渡した文字列にも影響することがあります。

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

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

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

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

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

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

この操作は StringScanner.new に渡した文字列にも影響することがあります。

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

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

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

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

...gexp, true, true) は StringScanner#scan_until と同等。
* search_full(regexp, true, false) は StringScanner#skip_until と同等。
* search_full(regexp, false, true) は StringScanner#check_until と同等。
* search_full(regexp, false, false) は StringScanner#exist? と同等。...
...s = StringScanner.new('test string')
p s.search_full(/t/, true, true) #=> "t"
p s.search_full(/str/, false, true) #=> "est str"
p s.search_full(/string/, true, true) #=> "est string"
//}


@see StringScanner#scan_until StringScanner#skip_until StringScanner#check_until StringScanner#ex...

StringScanner#clear -> self (9040.0)

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

...[例][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#scan_full(regexp, s, f) -> object (9040.0)

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

...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 reg...
...n'

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

@see StringScanner#scan S...
...tringScanner#skip StringScanner#check StringScanner#match?...

絞り込み条件を変える

StringScanner#terminate -> self (9040.0)

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

...[例][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 (9040.0)

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

...'strscan'

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


@return selfを返します。

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

StringScanner#empty? -> bool (9022.0)

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

...][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 (9022.0)

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

...][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#exist?(regexp) -> Integer | nil (9022.0)

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

...ポインタを進めません。

@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.exist?(/e/) # => nil
//}...

絞り込み条件を変える

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

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

..."\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]{
require 'strscan'

s = StringScanner.new('test string')
p s.ma...

StringScanner#matched? -> bool (9022.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...

StringScanner#matched_size -> Integer | nil (9022.0)

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

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

p run("UTF-8") #=> 3
p run("EUC-JP") #=> 2
p run("Shift_Jis") #=> 2

//}

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

s = StringScanner.new('test string')
s.matched...

StringScanner#pointer -> Integer (9022.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#pointer=(n) (9022.0)

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

...字列の長さを超える値を指定すると発生します。

@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+/) # => "ri...

絞り込み条件を変える

StringScanner#pos -> Integer (9022.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=(n) (9022.0)

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

...字列の長さを超える値を指定すると発生します。

@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+/) # => "ri...

StringScanner#reset -> self (9022.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 # =>...

StringScanner#rest? -> bool (9022.0)

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

...alse を返します。

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

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

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

s = StringScanner.new('test string')
p...

StringScanner#rest_size -> Integer (9022.0)

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

...長さを返します。
stringscanner
.rest.size と同じです。

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

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

s = StringScanner.new('test string')
p s.r...

絞り込み条件を変える

StringScanner#restsize -> Integer (9022.0)

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

...長さを返します。
stringscanner
.rest.size と同じです。

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

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

s = StringScanner.new('test string')
p s.r...

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

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

...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+/) #=> 6
p s.skip(/./) #=> nil
/...

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

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

...nil を返します。

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

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

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

StringScanner#beginning_of_line? -> bool (9004.0)

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

...後を指していることです。
文字列末尾は必ずしも行頭ではありません。

//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+/)
s.bol?...

StringScanner#bol? -> bool (9004.0)

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

...後を指していることです。
文字列末尾は必ずしも行頭ではありません。

//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+/)
s.bol?...

絞り込み条件を変える

StringScanner#charpos -> Integer (9004.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#matchedsize -> Integer | nil (9004.0)

StringScanner#matched_size と同じです。

...
StringScanner
#matched_size と同じです。

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

@see StringScanner#matched_size...

StringScanner.must_C_version -> self (9004.0)

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

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