るりまサーチ

最速Rubyリファレンスマニュアル検索!
180件ヒット [101-180件を表示] (0.056秒)

別のキーワード

  1. string b
  2. _builtin b
  3. b string
  4. b _builtin

ライブラリ

キーワード

検索結果

<< < 1 2 >>

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

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

...タから長さ bytes バイト分だけ文字列を返します。

//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

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

StringScanner
#peep は将来の...
...除される予定です。
代わりに StringScanner#peek を使ってください。

@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の文字列の長さを超える分は無視されます。
b
ytes が 0 のとき、またはスキャ...
...) を返します。

@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) # => ""
b
egin
s.peek(-1)
rescue ArgumentError =>...

StringScanner#rest? -> bool (102.0)

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

...alse を返します。

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

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

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

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

StringScanner#scan_full(regexp, s, f) -> object (102.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...
...分文字列を返します。
false ならばマッチした部分文字列の長さを返します。

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

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

StringScanner#search_full(regexp, s, f) -> object (102.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? と同等。...
...[ruby]{
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#ch...
...eck_until StringScanner#exist?...

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

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

...ist[][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]{
requ...
...ire 'strscan'

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

絞り込み条件を変える

StringScanner#matched_size -> Integer | nil (14.0)

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

...t[][ruby]{
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]{
re...
...quire '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#getch -> String | nil (8.0)

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

...返します。

一文字の定義は、与えた文字列のエンコードに依存します。

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

utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("UTF-8"))
p s.getch # => "る"
p s.getch # => "...
<< < 1 2 >>