るりまサーチ

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

別のキーワード

  1. _builtin -
  2. open-uri open
  3. irb/input-method gets
  4. irb/input-method new
  5. matrix -

ライブラリ

クラス

キーワード

検索結果

<< 1 2 3 ... > >>

StringScanner#string -> String (33599.0)

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

...][ruby]{
r
equire 'strscan'

s = StringScanner.new('test string')
s.string # => "test string"
//}

返り値は freeze されていません。

//emlist[例][ruby]{
r
equire 'strscan'

s = StringScanner.new('test string')
s.string.frozen? # => false
//}

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

//emlist[例][ruby]{
r
equire 'strscan'

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

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

//emlist[例][ruby]{
r
equire 'strscan'

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

String#scan(pattern) -> [String] | [[String]] (30565.0)

self に対して pattern を繰り返しマッチし、 マッチした部分文字列の配列を返します。

...に対して pattern を繰り返しマッチし、
マッチした部分文字列の配列を返します。

pattern が正規表現で括弧を含む場合は、
括弧で括られたパターンにマッチした部分文字列の配列の配列を返します。

@param pattern 探索する部...
...[例][ruby]{
p "foobar".scan(/../) # => ["fo", "ob", "ar"]
p "foobar".scan("o") # => ["o", "o"]
p "foobarbazfoobarbaz".scan(/ba./) # => ["bar", "baz", "bar", "baz"]

p "foobar".scan(/(.)/) # => [["f"], ["o"], ["o"], ["b"], ["a"], ["r"]]

p "foobarbazfoobarbaz".scan(/(ba...
...)(.)/) # => [["ba", "r"], ["ba", "z"], ["ba", "r"], ["ba", "z"]]
//}...

String#scan(pattern) {|s| ... } -> self (30350.0)

pattern がマッチした部分文字列をブロックに渡して実行します。 pattern が正規表現で括弧を含む場合は、 括弧で括られたパターンにマッチした文字列の配列を渡します。

...pattern がマッチした部分文字列をブロックに渡して実行します。
pattern が正規表現で括弧を含む場合は、
括弧で括られたパターンにマッチした文字列の配列を渡します。

@param pattern 探索する部分文字列または正規表現

//em...
...list[例][ruby]{
"foobarbazfoobarbaz".scan(/ba./) {|s| p s }
# "bar"
# "baz"
# "bar"
# "baz"

"foobarbazfoobarbaz".scan("ba") {|s| p s }
# "ba"
# "ba"
# "ba"
# "ba"

"foobarbazfoobarbaz".scan(/(ba)(.)/) {|s| p s }
# ["ba", "r"]
# ["ba", "z"]
# ["ba", "r"]
# ["ba", "z"]
//}...

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

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

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

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

//emlist[例][ruby]{
r
equire '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_until(regexp) -> String | nil (15421.0)

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

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

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

//emlist[例][ruby]{
r
equire '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 (15386.0)

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

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

マッチに成功すると、s と f の値によって以下のように動作します。

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

マッチに失敗すると s や f に関係なく nil を返します。

このメソッドは s と f の...
...* 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 r...

StringScanner#unscan -> self (15255.0)

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

...[ruby]{
r
equire '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]{
r
equire 'strscan'

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

String#gsub(pattern, replace) -> String (12411.0)

文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。

...文字列中で pattern にマッチする部分全てを
文字列 replace で置き換えた文字列を生成して返します。

置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字...
...

@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した文字列と置き換える文字列

//emlist[例][ruby]{
p 'a...
...# => "a<<b>>ca<<b>>c"
p 'xxbbxbb'.gsub(/x+(b+)/, 'X<<\1>>') # => "X<<bb>>X<<bb>>"
p '2.5'.gsub('.', ',') # => "2,5"
//}

注意:

第 2 引数 replace に $1 を埋め込んでも意図した結果にはなりません。
この文字列が評価される時点ではまだ正規表現マッ...

StringScanner#rest -> String (12356.0)

文字列の残り (rest) を返します。 具体的には、スキャンポインタが指す位置からの文字列を返します。

...(rest) を返します。
具体的には、スキャンポインタが指す位置からの文字列を返します。

スキャンポインタが文字列の末尾を指していたら空文字列 ("") を返します。

//emlist[例][ruby]{
r
equire 'strscan'

s = StringScanner.new('test string'...
...)
s.rest # => "test string"
s.scan(/\w+/) # => "test"
s.rest # => " string"
s.scan(/\s+/) # => " "
s.rest # => "string"
s.scan(/\w+/) # => "string"
s.rest # => ""
//}...
<< 1 2 3 ... > >>