種類
- インスタンスメソッド (160)
- 特異メソッド (3)
ライブラリ
- ビルトイン (125)
-
bigdecimal
/ util (1) - dl (1)
- jcode (16)
- kconv (9)
- scanf (2)
- shellwords (2)
-
yaml
/ rubytypes (7)
キーワード
- % (1)
- * (1)
- + (1)
- << (1)
- <=> (1)
- == (1)
- =~ (1)
- [] (5)
- []= (6)
- bytes (2)
- bytesize (1)
- capitalize (1)
- capitalize! (1)
- casecmp (1)
- center (1)
- chars (2)
- chomp (1)
- chomp! (1)
- chop (1)
- chop! (1)
- concat (1)
- count (1)
- crypt (1)
- delete (2)
- delete! (2)
- downcase (1)
- downcase! (1)
- dump (1)
- each (2)
-
each
_ byte (2) -
each
_ char (4) -
each
_ line (2) - empty? (1)
-
end
_ with? (1) - eql? (1)
- gsub (3)
- gsub! (3)
- hash (1)
- hex (1)
- include? (1)
- index (1)
- insert (1)
- inspect (1)
- intern (1)
-
is
_ binary _ data? (1) -
is
_ complex _ yaml? (1) - iseuc (1)
- issjis (1)
- isutf8 (1)
- jcount (1)
- jlength (1)
- jsize (1)
- kconv (1)
- length (1)
- lines (2)
- ljust (1)
- lstrip (1)
- lstrip! (1)
- match (1)
- mbchar? (1)
- new (1)
- next (1)
- next! (1)
- oct (1)
- partition (1)
- replace (1)
- reverse (1)
- reverse! (1)
- rindex (1)
- rjust (1)
- rpartition (1)
- rstrip (1)
- rstrip! (1)
- scan (2)
- scanf (2)
- shellescape (1)
- shellsplit (1)
- size (1)
- slice (5)
- slice! (6)
- split (1)
- squeeze (2)
- squeeze! (2)
-
start
_ with? (1) - strip (1)
- strip! (1)
- sub (2)
- sub! (2)
- succ (2)
- succ! (2)
- sum (1)
- swapcase (1)
- swapcase! (1)
- taguri (1)
- taguri= (1)
-
to
_ d (1) -
to
_ f (1) -
to
_ i (1) -
to
_ ptr (1) -
to
_ s (1) -
to
_ str (1) -
to
_ sym (1) -
to
_ yaml (1) - toeuc (1)
- tojis (1)
- tosjis (1)
- toutf16 (1)
- toutf8 (1)
- tr (2)
- tr! (2)
-
tr
_ s (2) -
tr
_ s! (2) - unpack (1)
- upcase (1)
- upcase! (1)
- upto (1)
-
yaml
_ new (1) -
yaml
_ tag _ subclasses? (1)
検索結果
先頭5件
-
String
# %(args) -> String (2) -
printf と同じ規則に従って args をフォーマットします。
...sprintf("%c", 97) #=> "a"
//}
フラグ `-' と幅 の指定だけが意味を持ちます。
: s
文字列を出力します。
引数が String オブジェクトでなければ to_s メソッドにより文字列化
したものを引数として扱います。
: p
Object#inspect の... -
String
# *(times) -> String (2) -
文字列の内容を times 回だけ繰り返した新しい文字列を作成して返します。
文字列の内容を times 回だけ繰り返した新しい文字列を作成して返します。
@param times 整数
@return self を times 回繰り返した新しい文字列
@raise ArgumentError 引数に負数を指定したときに発生します。
例:
p "str" * 3 # => "strstrstr"
str = "abc"
p str * 4 # => "abcabcabcabc"
p str * 0 # => ""
p str # => "abc" (変化なし) -
String
# +(other) -> String (2) -
文字列と other を連結した新しい文字列を返します。
...と other を連結した新しい文字列を返します。
@param other 文字列
@return self と other を連結した文字列
例:
p "str" + "ing" # => "string"
a = "abc"
b = "def"
p a + b # => "abcdef"
p a # => "abc" (変化なし)
p b # => "def"... -
String
# <<(other) -> self (2) -
self に文字列 other を破壊的に連結します。 other が 0 から 255 のまでの整数である場合は その 1 バイトを末尾に追加します (つまり、整数が示す ASCII コードの文字が追加されます)。
...返します。
@param other 文字列もしくは 0 から 255 までの範囲の整数
例:
str = "string"
str.concat "XXX"
p str # => "stringXXX"
str << "YYY"
p str # => "stringXXXYYY"
str << 65 # 文字AのASCIIコード
p str # => "stringXXXYYYA"... -
String
# <=>(other) -> Integer | nil (2) -
self と other を ASCII コード順で比較して、 self が大きい時には正の整数、等しい時には 0、小さい時には負の整数を返します。 このメソッドは Comparable モジュールのメソッドを実装するために使われます。
...ます。
ただし $= 変数はいずれ廃止されることが決まっているので
$= に頼るべきではありません。
代わりに String#casecmp を使ってください。
other が文字列でない場合、
other.to_str と other.<=> が定義されていれば
0 - (other <=> sel......ます。
@param other 文字列
@return 比較結果の整数か nil
例:
p "aaa" <=> "xxx" # => -1
p "aaa" <=> "aaa" # => 0
p "xxx" <=> "aaa" # => 1
p "string" <=> "stringAA" # => -1
p "string" <=> "string" # => 0
p "stringAA" <=> "string" # => 1... -
String
# ==(other) -> bool (2) -
文字列の内容が文字列 other の内容と等しいときに true を返します。 等しくなければ false を返します。
...較します。
同一のオブジェクトかどうかを比較するわけではありません。
つまり、"string" == str という式を実行した場合には、
str が "string" という内容の文字列でありさえすれば常に true を返します。
同一のオブジェクト......場合は、String#upcase,
String#downcase で大文字小文字を揃えてから比較するとよいです。
@param other 任意のオブジェクト
@return true か false
例:
p "string" == "string" # => true
p "string" == "STRING" # => false
p "string" == ""......p "" == "string" # => false
p "string" == "str" + "ing" # => true (内容が同じなら true)
p "string" == "stringX".chop # => true (内容が同じなら true)
p "string".upcase == "String".upcase # => true
p "string".downcase == "String".downcase #... -
String
# =~(other) -> Integer (2) -
正規表現 other とのマッチを行います。 マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
...ッチに関する情報が設定されます。
@param other 正規表現もしくは =~ メソッドを持つオブジェクト
@raise TypeError other が文字列であった
例:
p "string" =~ /str/ # => 0
p "string" =~ /not/ # => nil
p "abcfoo" =~ /foo/ # => 3... -
String
# [](nth) -> Integer | nil (2) -
nth 番目のバイトを整数 (文字コード) で返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目のバイトを返します。
nth 番目のバイトを整数 (文字コード) で返します。
nth が負の場合は文字列の末尾から数えます。
つまり、 self.size + nth 番目のバイトを返します。
nth が範囲外を指す場合は nil を返します。
@param nth バイトインデックスを表す整数
@return 文字コードを表す整数
例:
p 'bar'[2] # => 114
p 'bar'[2] == ?r # => true
p 'bar'[-1] # => 114
p 'bar'[3] # => nil
p... -
String
# [](nth , len) -> String | nil (2) -
nth バイト番目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。
nth バイト番目から長さ len バイトの部分文字列を新しく作って返します。
nth が負の場合は文字列の末尾から数えます。
@param nth 取得したい文字列の開始インデックスを整数で指定します。
@param len 取得したい文字列の長さを正の整数で指定します。
@return nth が範囲外を指す場合は nil を返します。
例:
str0 = "bar"
str0[2, 1] #=> "r"
str0[2, 0] #=> ""
str0[2, 100] #=> "r" (右側を超えても平気)
... -
String
# [](range) -> String (2) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の対照図も参照してください。
0 1 2 3 4 5 (インデックス)
-6 -5 -4 -3 -2 -1 (負のインデックス)
| a | b | c | d | e | f |
|<--------->| 'abcdef'[0..2] # => '... -
String
# [](regexp , nth = 0) -> String (2) -
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。 nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。 正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。
正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
このメソッドを実行すると、
マッチ結果に関する情報が組み込み変数 $~ に設定されます。
@param regexp 取得したい文字列のパターンを示す正規表現
@param nth 取得したい正規表現レジスタのインデックス。整数
p "foobar"[/bar/] # => "bar"... -
String
# [](substr) -> String | nil (2) -
self が substr を含む場合、一致した文字列を新しく作って返します。 substr を含まなければ nil を返します。
self が substr を含む場合、一致した文字列を新しく作って返します。
substr を含まなければ nil を返します。
@param substr 取得したい文字列のパターン。文字列
例:
substr = "bar"
result = "foobar"[substr]
p result # => "bar"
p substr.equal?(result) # => false -
String
# []=(nth , len , val) (2) -
nth バイト番目から長さ len バイトの部分文字列を文字列 val で置き換えます。
...aram len 置き換えたい部分文字列の長さ
@param val 指定範囲の部分文字列と置き換える文字列
@return val を返します。
例:
buf = "string"
buf[1, 4] = "!!"
p buf # => "s!!g"
buf = "string"
buf[1, 0] = "!!"
p buf # => "s!!tring"... -
String
# []=(nth , val) (2) -
nth 番目のバイトを文字列 val で置き換えます。
...とみなしてその文字で置き換えます。
@param nth 置き換えたいバイトのインデックス
@param val 指定バイトと置き換える文字列もしくはバイト
@return val を返します。
例:
buf = "string"
buf[1] = "!!"
p buf # => "s!!ring"... -
String
# []=(range , val) (2) -
rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。
rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。
@param range 置き換えたい範囲を示す Range オブジェクト
@return val を返します。 -
String
# []=(regexp , nth , val) (2) -
正規表現 regexp の nth 番目の括弧にマッチする 最初の部分文字列を文字列 val で置き換えます。
正規表現 regexp の nth 番目の括弧にマッチする
最初の部分文字列を文字列 val で置き換えます。
nth が 0 の場合は、マッチした部分文字列全体を val で置き換えます。
@param regexp 置き換えたい部分文字列のパターンを示す正規表現
@param nth 置き換えたい部分文字列のパターンを示す正規表現レジスタの番号
@param val 指定範囲の部分文字列と置き換えたい文字列
@return val を返します。
@raise IndexError 正規表現がマッチしなかった場合に発生します。
例:
buf... -
String
# []=(regexp , val) (2) -
正規表現 regexp にマッチした部分文字列全体を val で置き換えます。
...えたい部分文字列のパターンを示す正規表現
@param val 置き換えたい文字列
@return val を返します。
@raise IndexError 正規表現がマッチしなかった場合に発生します。
例:
buf = "string"
buf[/tr../] = "!!"
p buf # => "s!!g"... -
String
# []=(substr , val) (2) -
文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。
...と置き換える文字列
@return val を返します。
@raise IndexError self が部分文字列 substr を含まない場合に発生します。
例:
buf = "string"
buf["trin"] = "!!"
p buf # => "s!!g"
buf = "string"
buf["nosuchstring"] = "!!" # IndexError... -
String
# bytes -> Enumerable :: Enumerator (2) -
文字列の各バイトに対して繰り返します。
...対して繰り返します。
例:
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
@see String#unpack... -
String
# bytes {|byte| . . . } -> self (2) -
文字列の各バイトに対して繰り返します。
...対して繰り返します。
例:
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
@see String#unpack... -
String
# bytesize -> Integer (2) -
文字列のバイト長を整数で返します。
...#coding:UTF-8
# 実行結果は文字コードによって異なります。
p "いろは".size #=> 6
p "いろは".bytesize #=> 9
@see String#size... -
String
# capitalize -> String (2) -
文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。
...t JIS エンコーディングで記述されている
puts "帰".capitalize # => 蟻
また、$KCODE を設定しても、
マルチバイト文字のいわゆる全角アルファベットは処理しません。
@see String#capitalize!, String#upcase,
String#downcase, String#swapcase... -
String
# capitalize! -> self | nil (2) -
文字列先頭の文字を大文字に、残りを小文字に変更します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。
...ft JIS エンコーディングで記述されている
puts "帰".capitalize # => 蟻
また、$KCODE を設定しても、
マルチバイト文字のいわゆる全角アルファベットは処理しません。
@see String#capitalize, String#upcase,
String#downcase, String#swapcase... -
String
# casecmp(other) -> Integer | nil (2) -
String#<=> と同様に文字列の順序を比較しますが、 アルファベットの大文字小文字の違いを無視します。
...
String#<=> と同様に文字列の順序を比較しますが、
アルファベットの大文字小文字の違いを無視します。
このメソッドの動作は組み込み変数 $= には影響されません。
@param other self と比較する文字列
例:
p 'a' <=> 'A'......# => 1
p 'a'.casecmp('A') # => 0
@see String#<=>... -
String
# center(width , padding = ' ') -> String (2) -
長さ width の文字列に self を中央寄せした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。
...# => " foo "
p "foo".center(8) # => " foo "
p "foo".center(7) # => " foo "
p "foo".center(3) # => "foo"
p "foo".center(2) # => "foo"
p "foo".center(1) # => "foo"
p "foo".center(10, "*") # => "***foo****"
@see String#ljust, String#rjust... -
String
# chars -> Enumerable :: Enumerator (2) -
文字列の各文字に対して繰り返します。 $KCODE が適切に設定されていれば、マルチバイト文字も正しく扱われます。
文字列の各文字に対して繰り返します。
$KCODE が適切に設定されていれば、マルチバイト文字も正しく扱われます。
たとえば、
"hello世界".each_char {|c| print c, ' ' }
は次のように出力されます。
h e l l o 世 界 -
String
# chars {|cstr| block } -> self (2) -
文字列の各文字に対して繰り返します。 $KCODE が適切に設定されていれば、マルチバイト文字も正しく扱われます。
文字列の各文字に対して繰り返します。
$KCODE が適切に設定されていれば、マルチバイト文字も正しく扱われます。
たとえば、
"hello世界".each_char {|c| print c, ' ' }
は次のように出力されます。
h e l l o 世 界 -
String
# chomp!(rs = $ / ) -> self | nil (2) -
self の末尾から rs で指定する改行コードを取り除きます。 ただし rs が "\n" ($/ のデフォルト値) のときは、 システムによらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
...rn chomp! は通常 self を返しますが、取り除く改行がなかった場合は nil を返します。
例:
buf = "string\n"
buf.chomp!
p buf # => "string"
$/ = "\n" # デフォルトと同じ
p "foo\r".chomp! # => "foo"
p "foo\r\n".chomp! # => "foo"
p "foo\n".chomp... -
String
# chomp(rs = $ / ) -> String (2) -
self の末尾から rs で指定する改行コードを取り除いた文字列を生成し返します。 ただし、rs が "\n" ($/ のデフォルト値) のときは、 実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
self の末尾から rs で指定する改行コードを取り除いた文字列を生成し返します。
ただし、rs が "\n" ($/ のデフォルト値) のときは、
実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
rs に nil を指定した場合、このメソッドは何もしません。
rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、
末尾の連続する改行コードをすべて取り除きます。
例:
p "foo\n".chomp # => "foo"
p "foo\n".chomp("\n") ... -
String
# chop -> String (2) -
文字列の最後の文字を取り除いた新しい文字列を生成して返します。 ただし、文字列の終端が "\r\n" であればその 2 文字を取り除きます。
...します。
ただし、文字列の終端が "\r\n" であればその 2 文字を取り除きます。
例:
p "string\n".chop # => "string"
p "string\r\n".chop # => "string"
p "string".chop # => "strin"
p "strin".chop # => "stri"
p "".chop # => ""... -
String
# chop! -> self | nil (2) -
文字列の最後の文字を取り除きます。 ただし、終端が "\r\n" であればその 2 文字を取り除きます。
文字列の最後の文字を取り除きます。
ただし、終端が "\r\n" であればその 2 文字を取り除きます。
@return chop! は self を変更して返しますが、取り除く文字がなかった場合は nil を返します。 -
String
# concat(other) -> self (2) -
self に文字列 other を破壊的に連結します。 other が 0 から 255 のまでの整数である場合は その 1 バイトを末尾に追加します (つまり、整数が示す ASCII コードの文字が追加されます)。
...返します。
@param other 文字列もしくは 0 から 255 までの範囲の整数
例:
str = "string"
str.concat "XXX"
p str # => "stringXXX"
str << "YYY"
p str # => "stringXXXYYY"
str << 65 # 文字AのASCIIコード
p str # => "stringXXXYYYA"... -
String
# count(*chars) -> Integer (2) -
chars で指定された文字が文字列 self にいくつあるか数えます。
chars で指定された文字が文字列 self にいくつあるか数えます。
検索する文字を示す引数 chars の形式は tr(1) と同じです。
つまり、「"a-c"」は文字 a から c を意味し、
「"^0-9"」のように文字列の先頭が「^」の場合は
指定文字以外を意味します。
文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。
また、「-」「^」「\」は
バックスラッシュ (「\」) によりエスケープできます。
引数を複数指定した場合は、
すべての引数にマッチした文字だけを数えます。
@para... -
String
# crypt(salt) -> String (2) -
self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。
self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。
salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。
注意:
* crypt の処理は crypt(3) の実装に依... -
String
# delete!(*strs) -> self | nil (2) -
self から strs に含まれる文字を破壊的に取り除きます。
self から strs に含まれる文字を破壊的に取り除きます。
str の形式は tr(1) と同じです。
つまり、「a-c」は a から c を意味し、"^0-9" のように
文字列の先頭が「^」の場合は指定文字以外を意味します。
「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
「^」も文字列先頭にあるときだけ否定の効果を発揮します。
また、「-」「^」「\」はバックスラッシュ (「\」)
によってエスケープできます。
なお、引数を複数指定した場合は、
すべての引数にマッチする文字だけが削除されます。
@return 通常は self を返しますが、何も変更が起こ... -
String
# delete!(str) -> self|nil (2) -
String#delete! の日本語対応版です。 指定したパターンの文字列を破壊的に取り除きます。
...
String#delete! の日本語対応版です。
指定したパターンの文字列を破壊的に取り除きます。
ただしこのメソッドは置き換え前の物とは異なり
複数の引数を取れません。
@param str 取り除く文字のパターン。... -
String
# delete(*strs) -> String (2) -
self から strs に含まれる文字を取り除いた文字列を生成し返します。
self から strs に含まれる文字を取り除いた文字列を生成し返します。
str の形式は tr(1) と同じです。
つまり、`a-c' は a から c を意味し、"^0-9" のように
文字列の先頭が `^' の場合は指定文字以外を意味します。
「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
「^」も文字列の先頭にあるときだけ効果を発揮します。
また、「-」「^」「\」はバックスラッシュ (「\」)
によってエスケープできます。
なお、引数を複数指定した場合は、
すべての引数にマッチする文字だけが削除されます。
@param strs 削除する文字列を示... -
String
# delete(str) -> String (2) -
String#delete の日本語対応版です。 指定したパターンの文字列を取り除きます。
...
String#delete の日本語対応版です。
指定したパターンの文字列を取り除きます。
ただしこのメソッドは置き換え前の物とは異なり
複数の引数を取れません。
@param str 取り除く文字のパターン。
例:
#!/usr/bin/env ruby
$KCOD... -
String
# downcase -> String (2) -
'A' から 'Z' までの アルファベット大文字をすべて小文字に置き換えた新しい文字列を生成し返します。 アルファベット大文字以外の文字はすべてそのまま保存されます。
...KCODE を適切に設定しても
マルチバイト文字のアルファベットは処理できません。
例:
p "STRing?".downcase # => "string?"
# -*- Coding: shift_jis -*-
$KCODE ='n'
puts "帰".downcase # => 蟻
@see String#upcase, String#swapcase, String#capitalize... -
String
# downcase! -> self | nil (2) -
文字列中の 'A' から 'Z' までの アルファベット大文字をすべて破壊的に小文字に置き換えます。 アルファベット大文字以外の文字はすべてそのまま保存されます。
...ません。
@return self を変更して返します。変更が無かった場合は nil を返します。
例:
p "STRing?".downcase # => "string?"
# -*- Coding: shift_jis -*-
$KCODE ='n'
puts "帰".downcase # => 蟻
@see String#upcase, String#swapcase, String#capitalize... -
String
# dump -> String (2) -
文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 str == eval(str.dump) となることが保証されています。
文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。
str == eval(str.dump) となることが保証されています。
例:
# p だとさらにバックスラッシュが増えて見にくいので puts している
puts "abc\r\n\f\x00\b10\\\"".dump # => "abc\r\n\f\000\01010\\\"" -
String
# each(rs = $ / ) -> Enumerable :: Enumerator (2) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
例:
"aa\nbb\ncc\n".each_line do |line|
p line
end
# => "aa\n"
... -
String
# each(rs = $ / ) {|line| . . . } -> () (2) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
例:
"aa\nbb\ncc\n".each_line do |line|
p line
end
# => "aa\n"
... -
String
# each _ byte -> Enumerable :: Enumerator (2) -
文字列の各バイトに対して繰り返します。
...対して繰り返します。
例:
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
@see String#unpack... -
String
# each _ byte {|byte| . . . } -> self (2) -
文字列の各バイトに対して繰り返します。
...対して繰り返します。
例:
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
@see String#unpack... -
String
# each _ char -> Enumerable :: Enumerator (2) -
文字列の各文字に対して繰り返します。 $KCODE が適切に設定されていれば、マルチバイト文字も正しく扱われます。
文字列の各文字に対して繰り返します。
$KCODE が適切に設定されていれば、マルチバイト文字も正しく扱われます。
たとえば、
"hello世界".each_char {|c| print c, ' ' }
は次のように出力されます。
h e l l o 世 界 -
String
# each _ char -> [String] (2) -
文字列中の各文字に対してブロックを呼びだします。 ブロックを指定せずに呼び出された時には、各文字の配列を返します。
文字列中の各文字に対してブロックを呼びだします。
ブロックを指定せずに呼び出された時には、各文字の配列を返します。
例:
#!/usr/bin/env ruby
$KCODE = 'EUC'
require 'jcode'
zstr = 'ABCDEF'
zstr.each_char do |x|
print "+#{x}+"
end # => +A++B++C++D++E++F+ -
String
# each _ char {|char| . . . } -> String (2) -
文字列中の各文字に対してブロックを呼びだします。 ブロックを指定せずに呼び出された時には、各文字の配列を返します。
文字列中の各文字に対してブロックを呼びだします。
ブロックを指定せずに呼び出された時には、各文字の配列を返します。
例:
#!/usr/bin/env ruby
$KCODE = 'EUC'
require 'jcode'
zstr = 'ABCDEF'
zstr.each_char do |x|
print "+#{x}+"
end # => +A++B++C++D++E++F+ -
String
# each _ char {|cstr| block } -> self (2) -
文字列の各文字に対して繰り返します。 $KCODE が適切に設定されていれば、マルチバイト文字も正しく扱われます。
文字列の各文字に対して繰り返します。
$KCODE が適切に設定されていれば、マルチバイト文字も正しく扱われます。
たとえば、
"hello世界".each_char {|c| print c, ' ' }
は次のように出力されます。
h e l l o 世 界 -
String
# each _ line(rs = $ / ) -> Enumerable :: Enumerator (2) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
例:
"aa\nbb\ncc\n".each_line do |line|
p line
end
# => "aa\n"
... -
String
# each _ line(rs = $ / ) {|line| . . . } -> () (2) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
例:
"aa\nbb\ncc\n".each_line do |line|
p line
end
# => "aa\n"
... -
String
# empty? -> bool (2) -
文字列が空 (つまり長さ 0) の時、真を返します。
文字列が空 (つまり長さ 0) の時、真を返します。 -
String
# end _ with?(str) -> bool (2) -
self の末尾が str であるとき true を返します。
...str であるとき true を返します。
@param str パターンを表す文字列
例:
"string".end_with?("ing") # => true
"string".end_with?("str") # => false
@see String#start_with?... -
String
# eql?(other) -> bool (2) -
self == other と同じです。 Hash クラス内での比較に使われます。
self == other と同じです。
Hash クラス内での比較に使われます。
@see Hash -
String
# gsub!(pattern) -> Enumerable :: Enumerator (2) -
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。
...置き換える文字列のパターン
@return 置換した場合は self、置換しなかった場合は nil
例:
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 (2) -
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。
...置き換える文字列のパターン
@return 置換した場合は self、置換しなかった場合は nil
例:
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 , replace) -> self | nil (2) -
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
...文字列
@return 置換した場合は self、置換しなかった場合は nil
例:
buf = "String-String"
buf.gsub!(/in./, "!!")
p buf # => "Str!!-Str!!"
buf = "String.String"
buf.gsub!(/in./, '<<\&>>')
p buf # => "Str<<ing>>-Str<<ing>>"
注意:
引数 replace の......# NG
'abbbcd'.gsub!(/a(b+)/, "\1") # NG
'abbbcd'.gsub!(/a(b+)/, "\\1") # OK
'abbbcd'.gsub!(/a(b+)/, '\\1') # OK
'abbbcd'.gsub!(/a(b+)/, '\1') # OK
'abbbcd'.gsub!(/a(b+)/) { $1 } # OK これがもっとも安全
@see String#sub... -
String
# gsub(pattern) -> Enumerable :: Enumerator (2) -
文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えます。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
...ーンになります。
@param pattern 置き換える文字列のパターン
@return 置換した場合は self、置換しなかった場合は nil
例:
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
p 'abcabc'.gsub(/[bc]/) { $&.upcase } #=> "aBCaBC"
@see String#sub... -
String
# gsub(pattern) {|matched| . . . . } -> String (2) -
文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えます。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
...ーンになります。
@param pattern 置き換える文字列のパターン
@return 置換した場合は self、置換しなかった場合は nil
例:
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
p 'abcabc'.gsub(/[bc]/) { $&.upcase } #=> "aBCaBC"
@see String#sub... -
String
# gsub(pattern , replace) -> String (2) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成し返します。
...実に防止し、コードの可読性を上げるには、
\& や \1 よりも下記のようにブロック付き形式の gsub を使うべきです。
p 'xbbb-xbbb'.gsub(/x(b+)/) { $1 } # => "bbb-bbb" # OK
puts '\n'.gsub(/\\/) { '\\\\' } # => \\n # OK
@see String#sub... -
String
# hash -> Integer (2) -
self のハッシュ値を返します。 eql? で等しい文字列は、常にハッシュ値も等しくなります。
self のハッシュ値を返します。
eql? で等しい文字列は、常にハッシュ値も等しくなります。
@see Hash -
String
# hex -> Integer (2) -
文字列に 16 進数で数値が表現されていると解釈して整数に変換します。 接頭辞 "0x", "0X" とアンダースコアは無視されます。 文字列が [_0-9a-fA-F] 以外の文字を含むときはその文字以降を無視します。
...p "10z".hex # => 16
p "1_0".hex # => 16
p "".hex # => 0
@see String#oct, String#to_i, String#to_f,
Kernel.#Integer, Kernel.#Float
このメソッドの逆に数値を文字列に変換するには
Kernel.#sprintf, String#%,
Integer#to_s
などを使ってください。... -
String
# include?(substr) -> bool (2) -
文字列中に部分文字列 substr が含まれていれば真を返します。
文字列中に部分文字列 substr が含まれていれば真を返します。
substr が 0 から 255 の範囲の Fixnum の場合、
文字コードとみなして、その文字が含まれていれば真を返します。
@param substr 検索する文字列もしくは文字コードを表す整数 -
String
# index(pattern , pos = 0) -> Integer (2) -
インデックス pos から右に向かって pattern を検索し、 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
...るインデックス
例:
p "astrochemistry".index("str") # => 1
p "regexpindex".index(/e.*x/, 2) # => 3
p "character".index(?c) # => 0
p "foobarfoobar".index("bar", 6) # => 9
p "foobarfoobar".index("bar", -6) # => 9
@see String#rindex... -
String
# insert(pos , other) -> () (2) -
pos 番目の文字の直前に文字列 other を挿入します。 self[pos, 0] = other と同じ操作です。
...文字の直前に文字列 other を挿入します。
self[pos, 0] = other と同じ操作です。
@param pos 文字列を挿入するインデックス
@param other 挿入する文字列
例:
str = "foobaz"
str.insert(3, "bar")
p str # => "foobarbaz"
@see String#[]=... -
String
# inspect -> String (2) -
文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。 変換された文字列は印字可能な文字のみによって構成されます
...バッグのために用意されています。
永続化などの目的で文字列をダンプしたいときは、
String#dump を使うべきです。
例:
# p ではないことに注意
puts "string".inspect # => "string"
puts "\t\r\n".inspect # => "\t\r\n"
@see String#dump... -
String
# intern -> Symbol (2) -
文字列に対応するシンボル値 Symbol を返します。
文字列に対応するシンボル値 Symbol を返します。
なお、このメソッドの逆にシンボルに対応する文字列を得るには
Symbol#to_s または Symbol#id2name を使います。
ナルキャラクタ ("\0") を含む文字列、もしくは空の文字列をinternすると、
例外 ArgumentError が発生します。
@raise ArgumentError self が ナルキャラクタ ("\0") を含む文字列、もしくは空の文字列の場合発生します。
例:
p "foo".intern # => :foo
p "foo"... -
String
# is _ binary _ data? -> true | nil (2) -
自身が ASCII 文字以外の文字列を含む場合に true を返します。
自身が ASCII 文字以外の文字列を含む場合に true を返します。
この値が true になる場合、self.to_yaml した結果、"!binary ..." というよ
うな文字列を返します。
print "テスト".to_yaml
# => --- !binary |
44OG44K544OI -
String
# is _ complex _ yaml? -> Integer | nil (2) -
自身が複数行になるキーを含むような YAML である場合に真になる値を返しま す。
自身が複数行になるキーを含むような YAML である場合に真になる値を返しま
す。
例: ["Detroit Tigers", "Chicago cubs"] をキーとする場合
require 'yaml'
s = <<EOS
?
- Detroit Tigers
- Chicago cubs
:
- 2001-07-23
EOS
p s.is_complex_yaml? # => 2
p YAML.load(s) # => {["Detroit Tigers", "Chicago cubs"]=>[#<Date: 4904227/... -
String
# iseuc -> bool (2) -
self が EUC-JP なバイト列として正当であるかどうかを判定します。
self が EUC-JP なバイト列として正当であるかどうかを判定します。
Kconv.#iseuc(self) と同じです。 -
String
# issjis -> bool (2) -
self が Shift_JIS なバイト列として正当であるかどうかを判定します。
self が Shift_JIS なバイト列として正当であるかどうかを判定します。
Kconv.#issjis と同じです。 -
String
# isutf8 -> bool (2) -
self が UTF-8 なバイト列として正当であるかどうかを判定します。
self が UTF-8 なバイト列として正当であるかどうかを判定します。
Kconv.#isutf8(self) と同じです。 -
String
# jcount(str) -> Integer (2) -
String#count の日本語対応版です。
...String#count の日本語対応版です。
self に文字列 str で指定した文字がいくつ含まれているかを数えます
ただし String#count とは異なり利用できるパターンは
"A-D" のような「^」(否定)を含まないパターンのみであり、
また複... -
String
# jlength -> Integer (2) -
String#length の日本語対応版です。
...
String#length の日本語対応版です。
文字数を整数で返します。
例:
#!/usr/bin/env ruby
$KCODE = 'EUC'
zstr = 'ABCDEF'
hogehoge = 'hogehoge'
p zstr.size # => 12 これは正しくない
p hogehoge.size # => 8
require 'jcode'
p zstr.... -
String
# jsize -> Integer (2) -
String#length の日本語対応版です。
...
String#length の日本語対応版です。
文字数を整数で返します。
例:
#!/usr/bin/env ruby
$KCODE = 'EUC'
zstr = 'ABCDEF'
hogehoge = 'hogehoge'
p zstr.size # => 12 これは正しくない
p hogehoge.size # => 8
require 'jcode'
p zstr.... -
String
# kconv(out _ code , in _ code = Kconv :: AUTO) -> String (2) -
self のエンコーディングを out_code に変換した文字列を 返します。 out_code in_code は Kconv の定数で指定します。
self のエンコーディングを out_code に変換した文字列を
返します。
out_code in_code は Kconv の定数で指定します。
このメソッドは MIME エンコードされた文字列を展開し、
いわゆる半角カナを全角に変換します。
これらを変換したくない場合は、 NKF.#nkf を使ってください。
@param out_code 変換後のエンコーディングを Kconv の定数で指定します。
@param in_code 変換する文字列のエンコーディングを Kconv の定数で指定します。
@see Kconv.#kconv -
String
# length -> Integer (2) -
文字列のバイト数を返します。
文字列のバイト数を返します。 -
String
# lines(rs = $ / ) -> Enumerable :: Enumerator (2) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
例:
"aa\nbb\ncc\n".each_line do |line|
p line
end
# => "aa\n"
... -
String
# lines(rs = $ / ) {|line| . . . } -> () (2) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
例:
"aa\nbb\ncc\n".each_line do |line|
p line
end
# => "aa\n"
... -
String
# ljust(width , padding = ' ') -> String (2) -
長さ width の文字列に self を左詰めした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。
...字
例:
p "foo".ljust(10) # => "foo "
p "foo".ljust(9) # => "foo "
p "foo".ljust(8) # => "foo "
p "foo".ljust(2) # => "foo"
p "foo".ljust(1) # => "foo"
p "foo".ljust(10, "*") # => "foo*******"
@see String#center, String#rjust... -
String
# lstrip -> String (2) -
文字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \t\r\n\f\v" です。
...字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。
空白文字の定義は " \t\r\n\f\v" です。
例:
p " abc\n".lstrip #=> "abc\n"
p "\t abc\n".lstrip #=> "abc\n"
p "abc\n".lstrip #=> "abc\n"
@see String#strip, String#rstrip... -
String
# lstrip! -> self | nil (2) -
文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v" です。
文字列の先頭にある空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v" です。
lstrip! は self を変更して返します。
ただし取り除く空白がなかったときは nil を返します。
例:
str = " abc"
p str.lstrip! # => "abc"
p str # => "abc"
str = "abc"
p str.lstrip! # => nil
p str # => "abc" -
String
# match(regexp) -> MatchData (2) -
regexp.match(self) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match を参照してください。
regexp.match(self) と同じです。
regexp が文字列の場合は、正規表現にコンパイルします。
詳しくは Regexp#match を参照してください。 -
String
# mbchar? -> Integer|nil (2) -
self に多バイト文字が最初に現れる位置を返します。 多バイト文字が含まれていなければ nil を返します。
self に多バイト文字が最初に現れる位置を返します。
多バイト文字が含まれていなければ nil を返します。
例:
#!/usr/bin/env ruby
$KCODE = 'EUC'
zstr = 'ABCDEF'
hoge = 'hogehoge'
require 'jcode'
p zstr.mbchar? # => 0
p hoge.mbchar? # => nil -
String
# next -> String (2) -
self の「次の」文字列を返します。
self の「次の」文字列を返します。
「次の」文字列は、対象の文字列の右端から
アルファベットなら アルファベット順(aの次はb, zの次はa, 大文字も同様)に、
数字なら 10 進数(9 の次は 0)とみなして計算されます。
p "aa".succ # => "ab"
p "88".succ.succ # => "90"
"99" → "100", "AZZ" → "BAA" のような繰り上げも行われます。
このとき負符号などは考慮されません。
p "99".succ # => "100"
p "ZZ".succ # => "... -
String
# next! -> String (2) -
self を「次の」文字列に置き換えます。 「次の」文字列は、アルファベットなら 16 進数、 数字なら 10 進数とみなして計算されます。 「次の」文字列の計算では "99" → "100" のように繰り上げも行われます。 このとき負符号などは考慮されません。
...# => "10"
p "09".succ # => "10"
# アルファベット・数字とそれ以外の混在
p "1.9.9".succ # => # "2.0.0"
# アルファベット・数字以外のみ
p ".".succ # => "/"
p "\0".succ # => "\001"
p "\377".succ # => "\001\000"
@see String#succ... -
String
# oct -> Integer (2) -
文字列を 8 進文字列であると解釈して、整数に変換します。
...p "-010".oct # => -8
p "-0x10".oct # => 0
p "-0b10".oct # => 0
p "1_0_1x".oct # => 65
@see String#hex, String#to_i, String#to_f,
Kernel.#Integer, Kernel.#Float
逆に、数値を文字列に変換するにはKernel.#sprintf,
String#%, Integer#to_s を使用します。... -
String
# partition(sep) -> [String , String , String] (2) -
セパレータ sep が最初に登場する部分で self を 3 つに分割し、 [最初のセパレータより前の部分, セパレータ, それ以降の部分] の 3 要素の配列を返します。
...ます。
@param sep セパレータを表す文字列か正規表現を指定します。
例:
p "axaxa".partition("x") # => ["a", "x", "axa"]
p "aaaaa".partition("x") # => ["aaaaa", "", ""]
p "aaaaa".partition("") # => ["aaaaa", "", ""]
@see String#rpartition, String#split... -
String
# replace(other) -> String (2) -
self の内容を other の内容で置き換えます。
self の内容を other の内容で置き換えます。
例:
str = "foo"
str.replace "bar"
p str # => "bar" -
String
# reverse -> String (2) -
文字列をバイト単位で左右逆転した文字列を返します。
文字列をバイト単位で左右逆転した文字列を返します。
例:
p "foobar".reverse # => "raboof"
p "".reverse # => "" -
String
# reverse! -> () (2) -
文字列をバイト単位で左右逆転します。
文字列をバイト単位で左右逆転します。
例:
str = "foobar"
str.reverse!
p str # => "raboof" -
String
# rindex(pattern , pos = self . size) -> Integer | nil (2) -
文字列のインデックス pos から左に向かって pattern を探索します。 見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
...つからなければ nil を返します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索は......さい。
# String#index の場合
p "stringstring".index("ing", 1) # => 3
# ing # ここから探索を始める
# ing
# ing # 右にずらしていってここで見つかる
# String#rindex の場合
p "stringstring".rindex("ing", -1)......ンデックス
例:
p "astrochemistry".rindex("str") # => 10
p "character".rindex(?c) # => 5
p "regexprindex".rindex(/e.*x/, 2) # => 1
p "foobarfoobar".rindex("bar", 6) # => 3
p "foobarfoobar".rindex("bar", -6) # => 3
@see String#index... -
String
# rjust(width , padding = ' ') -> String (2) -
長さ width の文字列に self を右詰めした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。
...字
例:
p "foo".rjust(10) # => " foo"
p "foo".rjust(9) # => " foo"
p "foo".rjust(8) # => " foo"
p "foo".rjust(2) # => "foo"
p "foo".rjust(1) # => "foo"
p "foo".rjust(10, "*") # => "*******foo"
@see String#center, String#ljust... -
String
# rpartition(sep) -> [String , String , String] (2) -
セパレータ sep が最後に登場する部分で self を 3 つに分割し、 [最後のセパレータより前の部分, セパレータ, それ以降の部分] の 3 要素の配列を返します。
...第 1 要素と第 2 要素が空文字列になります。
@param sep セパレータを表す文字列か正規表現を指定します。
例:
p "axaxa".rpartition("x") # => ["axa", "x", "a"]
p "aaaaa".rpartition("x") # => ["", "", "aaaaa"]
@see String#partition, String#split... -
String
# rstrip -> String (2) -
文字列の末尾にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \t\r\n\f\v\0" です。
...#=> " abc"
p " abc \t\r\n\0".rstrip #=> " abc"
p " abc".rstrip #=> " abc"
p " abc\0 ".rstrip #=> " abc\0"
str = "abc\n"
p str.rstrip #=> "abc"
p str #=> "abc\n" (元の文字列は変化しない)
@see String#lstrip,String#strip... -
String
# rstrip! -> self | nil (2) -
文字列の末尾にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
...に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
例:
str = " abc\n"
p str.rstrip! # => " abc"
p str # => " abc"
str = " abc \r\n\t\v\0"
p str.rstrip! # => " abc"
p str # => " abc"
@see String#rstrip, String#lstrip... -
String
# scan(re) -> [String] | [[String]] (2) -
self に対して正規表現 re を繰り返しマッチし、 マッチした部分文字列の配列を返します。
self に対して正規表現 re を繰り返しマッチし、
マッチした部分文字列の配列を返します。
正規表現が括弧を含む場合は、
括弧で括られたパターンにマッチした部分文字列の配列の配列を返します。
例:
p "foobar".scan(/../) # => ["fo", "ob", "ar"]
p "foobarbazfoobarbaz".scan(/ba./) # => ["bar", "baz", "bar", "baz"]
p "foobar".scan(/(.)/)
# => [["f"], ["o"], ["... -
String
# scan(re) {|s| . . . } -> () (2) -
正規表現 re がマッチした部分文字列をブロックに渡して実行します。 正規表現 re が括弧を含む場合は、 括弧で括られたパターンにマッチした文字列の配列を渡します。
正規表現 re がマッチした部分文字列をブロックに渡して実行します。
正規表現 re が括弧を含む場合は、
括弧で括られたパターンにマッチした文字列の配列を渡します。
Ruby 1.6 以前は re が文字列の場合、
その文字列を正規表現にコンパイルしていました。
Ruby 1.8 以降は、その文字列そのものがパターンになります。
@param re パターン
例:
"foobarbazfoobarbaz".scan(/ba./) {|s| p s }
# => "bar"
# "baz"
# "baz"
... -
String
# scanf(format) -> Array (2) -
ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。
...il], ["abc", 456], ["def", nil]]
@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。
使用例:
str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]
====[a:format] s......: %f
符号付き浮動小数点数
: %s
空白文字を含まない文字列
(幅が指定されているときは指定された文字数か空白文字の直前までの短い方)
: %c
1文字(幅が指定されているときは指定された文字数)
: [...]
d:spec/regexp#string... -
String
# scanf(format) {|*ary| . . . } -> Array (2) -
ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。
...il], ["abc", 456], ["def", nil]]
@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。
使用例:
str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]
====[a:format] s......: %f
符号付き浮動小数点数
: %s
空白文字を含まない文字列
(幅が指定されているときは指定された文字数か空白文字の直前までの短い方)
: %c
1文字(幅が指定されているときは指定された文字数)
: [...]
d:spec/regexp#string...
