るりまサーチ

最速Rubyリファレンスマニュアル検索!
528件ヒット [201-300件を表示] (0.078秒)
トップページ > クエリ:require[x] > クエリ:-[x] > クラス:StringScanner[x] > クエリ:string[x]

別のキーワード

  1. kernel require
  2. getoptlong require_order
  3. rubygems/custom_require require
  4. irb/ext/use-loader irb_require
  5. require execute

ライブラリ

キーワード

検索結果

<< < 1 2 3 4 5 ... > >>

StringScanner.new(str, dup = false) -> StringScanner (3213.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::Version -> String (3208.0)

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

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

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

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

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

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

...//emlist[例][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" @ " str...
...# => "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 (3137.0)

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

...//emlist[例][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" @ " str...
...# => "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#matched_size -> Integer | nil (3131.0)

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

...y]{
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 run("EUC-JP") #=> 2
p run("Shift_Jis") #=> 2

//}

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

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

絞り込み条件を変える

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

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

...uby]{
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]{
require
'st...
...rscan'

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

StringScanner#search_full(regexp, s, f) -> object (3125.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? と同等。...
...uby]{
require
'strscan'

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#chec...
...k_until StringScanner#exist?...

StringScanner#unscan -> self (3125.0)

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

...by]{
require
'strscan'

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


@return selfを返します。

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

StringScanner#clear -> self (3119.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 5 ... > >>