るりまサーチ

最速Rubyリファレンスマニュアル検索!
324件ヒット [1-100件を表示] (0.041秒)
トップページ > クエリ:String#sub[x] > クエリ:sub[x] > クエリ:media_subtype[x]

別のキーワード

  1. _builtin sub
  2. pathname sub
  3. string sub
  4. string sub!
  5. _builtin sub!

検索結果

<< 1 2 3 ... > >>

String#sub(pattern, replace) -> String (39314.0)

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

...pattern で指定した文字列と置き換える文字列

//emlist[例][ruby]{
p 'abcdefg'.sub(/def/, '!!') # => "abc!!g"
p 'abcabc'.sub(/b/, '<<\&>>') # => "a<<b>>cabc"
p 'xxbbxbb'.sub(/x+(b+)/, 'X<<\1>>') # => "X<<bb>>xbb"
//}

注意:

第 2 引数 replace に $1 を埋め...
...列が評価される時点ではまだ正規表現マッチが行われておらず、
$1 がセットされていないからです。

また、sub では「\」が部分文字列との置き換えという特別な意味を持つため、
replace に「\」自身を入れたいときは
「\」...
...違い][ruby]{
p 'xbbb-xbbb'.sub(/x(b+)/, "#{$1}") # => "-xbbb" # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\1") # => "1-xbbb" # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\\1") # => "bbb-xbbb" # OK
p 'xbbb-xbbb'.sub(/x(b+)/, '\1') # => "bbb-xbbb" # OK
p 'xbbb-xbbb'.sub(/x(b+)/, '\\1') # => "b...

String#sub(pattern) {|matched| .... } -> String (39259.0)

文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果で置き換えた新しい文字列を返します。 ブロックなしの sub と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

...チした最初の部分をブロックに渡し、
その評価結果で置き換えた新しい文字列を返します。
ブロックなしの sub と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。

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

//emlist[例][ruby]{
p 'abcabc'.sub(/b/) {|s| s.upcase } #=> "aBcabc"
p 'abcabc'.sub(/b/) { $&.upcase } #=> "aBcabc"
//}

@see String#gsub...

String#sub(pattern, hash) -> String (39239.0)

文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。

...で置き換えます。

@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ

//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".sub(/[bc]/){hash[$&]} #=> "aBCabc"
p "abcabc".sub(/[bc]/, hash) #=> "aBCabc"
//}...

String (38138.0)

文字列のクラスです。 NUL 文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。

...ープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q」文字列 (エスケープ...
...
<<-End
この行はヒアドキュメント (終端記号をインデントできる)
End

//}

===[a:mutable] 破壊的な変更

Ruby の String クラスは mutable です。
つまり、オブジェクト自体を破壊的に変更できます。

「破壊的な変更」とは、ある...
...文字へ変更する
String#upcase! メソッドの使用例を以下に示します。

//emlist[例:String#upcase!][ruby]{
a = "string"
b = a
a.upcase!
p a # => "STRING"
p b # => "STRING"
//}

この例では、a に対してメソッドを呼んだにも関わらず b も変更されてい...
...ブルクオートとの併用も可能
<<~End
この行のインデントは無視される
End
//}

===[a:mutable] 破壊的な変更

Ruby の String クラスは mutable です。
つまり、オブジェクト自体を破壊的に変更できます。

「破壊的な変更」とは、ある...

String#sub!(pattern, hash) -> String (27227.0)

文字列中の pattern にマッチした部分をキーにして hash を引いた値で破壊的に置き換えます。

文字列中の pattern にマッチした部分をキーにして hash を引いた値で破壊的に置き換えます。

@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
@return 置換した場合は self、置換しなかった場合は nil

絞り込み条件を変える

String#gsub(pattern) {|matched| .... } -> String (27223.0)

文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

...表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列

//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
p 'abcabc'.gsub(/[bc]/) { $&.upcase } #=> "aBCaBC"
//}

@see String#sub, String#scan...

String#sub!(pattern, replace) -> self | nil (27222.0)

文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。

...弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。

sub
! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。

@param pattern 置き換える...
...//emlist[例][ruby]{
buf = "String-String"
buf.sub!(/in./, "!!")
p buf # => "Str!!-String"

buf = "String.String"
buf.sub!(/in./, '<<\&>>')
p buf # => "Str<<ing>>-String"
//}

注意:

引数 replace の中で $1 を使うことはできません。
replace は sub メソッドの呼び出し...
...より先に評価されるので、
まだ sub の正規表現マッチが行われておらず、
$1 がセットされていないからです。

また、sub では「\」が部分文字列との置き換えという特別な意味を持つため、
replace に「\」自身を入れたいとき...

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

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

...と置き換える文字列

//emlist[例][ruby]{
p 'abcdefg'.gsub(/def/, '!!') # => "abc!!g"
p 'abcabc'.gsub(/b/, '<<\&>>') # => "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...
...列が評価される時点ではまだ正規表現マッチが行われておらず、
$1 がセットされていないからです。

また、gsub では「\」が部分文字列との置き換えという特別な意味を持つため、
replace に「\」自身を入れたいときは
「\」...
...い][ruby]{
p 'xbbb-xbbb'.gsub(/x(b+)/, "#{$1}") # => "-" # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\1") # => "1-1" # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\\1") # => "bbb-bbb" # OK
p 'xbbb-xbbb'.gsub(/x(b+)/, '\1') # => "bbb-bbb" # OK
p 'xbbb-xbbb'.gsub(/x(b+)/, '\\1') # => "bbb...

String#gsub(pattern, hash) -> String (27208.0)

文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。

...で置き換えます。

@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ

//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
//}...

String#sub!(pattern) {|matched| .... } -> self | nil (27147.0)

文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果へ破壊的に置き換えます。

...にマッチした最初の部分をブロックに渡し、
その評価結果へ破壊的に置き換えます。

また、ブロックなしの sub と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。

@param pattern 置き換える...
...は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil

//emlist[例][ruby]{
str = 'abcabc'
str.sub!(/b/) {|s| s.upcase }
p str #=> "aBcabc"

str = 'abcabc'
str.sub!(/b/) { $&.upcase }
p str #=> "aBcabc"
//}

@see String#gsub...

絞り込み条件を変える

String#gsub!(pattern, replace) -> self | nil (27138.0)

文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。

...の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。

gsub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。

@param pattern 置き換える...
.../emlist[例][ruby]{
buf = "String-String"
buf.gsub!(/in./, "!!")
p buf # => "Str!!-Str!!"

buf = "String.String"
buf.gsub!(/in./, '<<\&>>')
p buf # => "Str<<ing>>-Str<<ing>>"
//}

注意:

引数 replace の中で $1 を使うことはできません。
replace は gsub メソッドの呼び出...
...しより先に評価されるので、
まだ gsub の正規表現マッチが行われておらず、
$1 がセットされていないからです。

また、gsub では「\」が部分文字列との置き換えという特別な意味を持つため、
replace に「\」自身を入れたい...

String#gsub(pattern) -> Enumerator (27123.0)

文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

...表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列

//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
p 'abcabc'.gsub(/[bc]/) { $&.upcase } #=> "aBCaBC"
//}

@see String#sub, String#scan...

String#gsub!(pattern) -> Enumerator (27118.0)

文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。

...は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil

//emlist[例][ruby]{
str = 'abcabc'
str.gsub!(/b/) {|s| s.upcase }
p str #=> "aBcaBc"

str = 'abcabc'
str.gsub!(/b/) { $&.upcase }
p str #=> "aBcaBc"
//}

@see String#sub...

String#gsub!(pattern) {|matched| .... } -> self | nil (27118.0)

文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。

...は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil

//emlist[例][ruby]{
str = 'abcabc'
str.gsub!(/b/) {|s| s.upcase }
p str #=> "aBcaBc"

str = 'abcabc'
str.gsub!(/b/) { $&.upcase }
p str #=> "aBcaBc"
//}

@see String#sub...

String#gsub!(pattern, hash) -> self | nil (27108.0)

文字列中の pattern にマッチした部分をキーにして hash を引いた値へ破壊的に置き換えます。

...ttern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ

//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
str = "abcabc"
str.gsub!(/[bc]/){hash[$&]}
p str #=> "aBCaBC"

str = "abcabc"
str.gsub!(/[bc]/, hash)
p str #=> "aBCaBC"
//}...

絞り込み条件を変える

String#slice!(substr) -> String (21264.0)

指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。

...(String#[] 参照) を
文字列から取り除いたうえで取り除いた部分文字列を返します。

引数が範囲外を指す場合は nil を返します。

//emlist[例][ruby]{
string
= "this is a string"
string
.slice!(2) #=> "i"
string
.slice!(3..6) #=> " is "
string
.sl...
...ice!(/s.*t/) #=> "sa st"
string
.slice!("r") #=> "r"
string
#=> "thing"
//}...

String#[](substr) -> String | nil (21213.0)

self が substr を含む場合、一致した文字列を新しく作って返します。 substr を含まなければ nil を返します。

... substr を含む場合、一致した文字列を新しく作って返します。
sub
str を含まなければ nil を返します。

@param substr 取得したい文字列のパターン。文字列

//emlist[例][ruby]{
sub
str = "bar"
result = "foobar"[substr]
p result # => "bar"
p substr....
<< 1 2 3 ... > >>