るりまサーチ

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

別のキーワード

  1. txt strings
  2. resolv strings
  3. resource strings
  4. strings resolv
  5. strings resolv::dns::resource::txt

ライブラリ

キーワード

検索結果

<< 1 2 3 ... > >>

StringScanner.new(str, dup = false) -> StringScanner (24326.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+/) #=> nil
p s.scan(/\s+/) #=> " "
//}...

StringScanner#scan(regexp) -> String | nil (24138.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#scan_full(regexp, s, f) -> object (12174.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? と同...
...trscan'

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#s...
...can StringScanner#skip StringScanner#check StringScanner#match?...

StringScanner#unscan -> self (12143.0)

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

...quire '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 回分以上戻そうとした時や、
まだマッチを一度も行ってい...
...ire '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#scan_until(regexp) -> String | nil (12114.0)

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

...l を返します。

@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#peek(bytes) -> String (6043.0)

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

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

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

StringScanner
#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使...
...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 ArgumentError => err
puts err # negative string size (or size too big)
end
p s.scan(/\w+/) # => "test"
p s.scan(/\s+/) # => " "
p s.scan(/...
...ing"
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) # => " str"
//}...

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

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

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

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

StringScanner
#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使...
...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 ArgumentError => err
puts err # negative string size (or size too big)
end
p s.scan(/\w+/) # => "test"
p s.scan(/\s+/) # => " "
p s.scan(/...
...ing"
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) # => " str"
//}...

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

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

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

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

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

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

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

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

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

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

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

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

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

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