るりまサーチ (Ruby 2.4.0)

最速Rubyリファレンスマニュアル検索!
195件ヒット [1-100件を表示] (0.014秒)
トップページ > クラス:String[x] > バージョン:2.4.0[x]

ライブラリ

キーワード

検索結果

<< 1 2 > >>

String#%(args) -> String (2.0)

printf と同じ規則に従って args をフォーマットします。

...sprintf("%c", 'a') #=> "a"
//}

フラグ `-' と幅 の指定だけが意味を持ちます。

: s

文字列を出力します。

引数が String オブジェクトでなければ to_s メソッドにより文字列化
したものを引数として扱います。

: p

Object#inspect の...

String#*(times) -> String (2.0)

文字列の内容を 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.0)

文字列と 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#+@ -> String | self (2.0)

self が freeze されている文字列の場合、元の文字列の複製を返します。 freeze されていない場合は self を返します。

self が freeze されている文字列の場合、元の文字列の複製を返します。
freeze されていない場合は self を返します。

String#-@ -> String | self (2.0)

self が freeze されている文字列の場合、self を返します。 freeze されていない場合は元の文字列の freeze された複製を返します。

self が freeze されている文字列の場合、self を返します。
freeze されていない場合は元の文字列の freeze された複製を返します。

絞り込み条件を変える

String#<<(other) -> self (2.0)

self に文字列 other を破壊的に連結します。 other が 整数である場合は other.chr(self.encoding) 相当の文字を末尾に追加します。

...ます。

self を返します。

@param other 文字列もしくは 0 以上の整数

例:

str = "string"
str.concat "XXX"
p str # => "stringXXX"

str << "YYY"
p str # => "stringXXXYYY"

str << 65 # 文字AのASCIIコード
p str # => "stringXXXYYYA"...

String#<=>(other) -> -1 | 0 | 1 | nil (2.0)

self と other を ASCII コード順で比較して、 self が大きい時には 1、等しい時には 0、小さい時には -1 を返します。 このメソッドは 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.0)

other が文字列の場合、String#eql? と同様に文字列の内容を比較します。

...other が文字列の場合、String#eql? と同様に文字列の内容を比較します。

other が文字列でない場合、
other.to_str が定義されていれば
other == self の結果を返します。(ただし、 other.to_str は実行されません。)
そうでなければ false...
...例:

string
like = Object.new

def stringlike.==(other)
"string" == other
end

p "string".eql?(stringlike) #=> false
p "string" == stringlike #=> false

def stringlike.to_str
raise
end

p "string".eql?(stringlike) #=> false
p "string" == stringlike...
...#=> true

@see String#eql?...

String#===(other) -> bool (2.0)

other が文字列の場合、String#eql? と同様に文字列の内容を比較します。

...other が文字列の場合、String#eql? と同様に文字列の内容を比較します。

other が文字列でない場合、
other.to_str が定義されていれば
other == self の結果を返します。(ただし、 other.to_str は実行されません。)
そうでなければ false...
...例:

string
like = Object.new

def stringlike.==(other)
"string" == other
end

p "string".eql?(stringlike) #=> false
p "string" == stringlike #=> false

def stringlike.to_str
raise
end

p "string".eql?(stringlike) #=> false
p "string" == stringlike...
...#=> true

@see String#eql?...

String#=~(other) -> Integer (2.0)

正規表現 other とのマッチを行います。 マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。

...情報が設定されます。

@param other 正規表現もしくは =~ メソッドを持つオブジェクト
@raise TypeError other が文字列の場合に発生します。

例:

p "string" =~ /str/ # => 0
p "string" =~ /not/ # => nil
p "abcfoo" =~ /foo/ # => 3...

絞り込み条件を変える

String#[](nth) -> String | nil (2.0)

nth 番目の文字を返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目の文字を返します。

...nth が範囲外を指す場合は nil を返します。

@param nth 文字の位置を表す整数
@return 指定した位置の文字を表す String オブジェクト

例:

p 'bar'[2] # => "r"
p 'bar'[2] == ?r # => true
p 'bar'[-1] # => "r"
p 'bar'[3] # => nil
p 'b...

String#[](nth, len) -> String | nil (2.0)

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" (右側を超えても平気)
s...

String#[](range) -> String (2.0)

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, name) -> String (2.0)

正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返 します。

正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の
部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返
します。

@param regexp 正規表現を指定します。
@param name 取得したい部分文字列のパターンを示す正規表現レジスタを示す名前

@raise IndexError name に対応する括弧がない場合に発生します。

例:

s = "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/] # => "FooBar"
s[/(?<foo>[A-...

String#[](regexp, nth = 0) -> String (2.0)

正規表現 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.0)

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.0)

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.0)

nth 番目の文字を文字列 val で置き換えます。

...い文字の位置を指定します。
@param val 置き換える文字列を指定します。

@return val を返します。

例:

buf = "string"
buf[1] = "!!"
p buf # => "s!!ring"...

String#[]=(range, val) (2.0)

rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。

rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。

@param range 置き換えたい範囲を示す Range オブジェクト

@return val を返します。

String#[]=(regexp, name, val) (2.0)

正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を文字列 val で置き換えます。

正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の
部分文字列を文字列 val で置き換えます。

@param regexp 置き換えたい部分文字列のパターンを示す正規表現
@param name 置き換えたい部分文字列のパターンを示す正規表現レジスタを示す名前
@param val 指定範囲の部分文字列と置き換えたい文字列

@return val を返します。

@raise IndexError name で指定した名前付きキャプチャが存在しない場合に発
生します。

例:

s =...

絞り込み条件を変える

String#[]=(regexp, nth, val) (2.0)

正規表現 regexp の nth 番目の括弧にマッチする 最初の部分文字列を文字列 val で置き換えます。

正規表現 regexp の nth 番目の括弧にマッチする
最初の部分文字列を文字列 val で置き換えます。

nth が 0 の場合は、マッチした部分文字列全体を val で置き換えます。

@param regexp 置き換えたい部分文字列のパターンを示す正規表現
@param nth 置き換えたい部分文字列のパターンを示す正規表現レジスタの番号
@param val 指定範囲の部分文字列と置き換えたい文字列

@return val を返します。

@raise IndexError 正規表現がマッチしなかった場合に発生します。

例:

buf...

String#[]=(regexp, val) (2.0)

正規表現 regexp にマッチした部分文字列全体を val で置き換えます。

...えたい部分文字列のパターンを示す正規表現
@param val 置き換えたい文字列

@return val を返します。

@raise IndexError 正規表現がマッチしなかった場合に発生します。

例:

buf = "string"
buf[/tr../] = "!!"
p buf # => "s!!g"...

String#[]=(substr, val) (2.0)

文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。

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

@return val を返します。

@raise IndexError self が部分文字列 substr を含まない場合に発生します。

例:
buf = "string"
buf["trin"] = "!!"
p buf # => "s!!g"

buf = "string"
buf["nosuchstring"] = "!!" # IndexError...

String#ascii_only? -> bool (2.0)

文字列がASCII文字のみで構成されている場合に true を返します。さもなくば false を返します。

文字列がASCII文字のみで構成されている場合に true を返します。さもなくば
false を返します。

String#b -> String (2.0)

self の文字エンコーディングを ASCII-8BIT にした文字列を返します。

self の文字エンコーディングを ASCII-8BIT にした文字列を返します。

絞り込み条件を変える

String#bytes -> [Integer] (2.0)

文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)

...h_byte.to_a と同じです)

"str".bytes # => [115, 116, 114]

ブロックが指定された場合は String#each_byte と同じように動作しま
す。ただし obsolete のため、ブロックを指定する場合は
String
#each_byte を使用してください。

@see String#each_byte...

String#bytes {|byte| ... } -> self (2.0)

文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)

...h_byte.to_a と同じです)

"str".bytes # => [115, 116, 114]

ブロックが指定された場合は String#each_byte と同じように動作しま
す。ただし obsolete のため、ブロックを指定する場合は
String
#each_byte を使用してください。

@see String#each_byte...

String#bytesize -> Integer (2.0)

文字列のバイト長を整数で返します。

...#coding:UTF-8
# 実行結果は文字コードによって異なります。
p "いろは".size #=> 3
p "いろは".bytesize #=> 9

@see String#size...

String#byteslice(nth) -> String | nil (2.0)

nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。 引数が範囲外を指定した場合は nil を返します。

...ます。

@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。

"hello".byteslice(1) # => "e"
"hello".byteslice(-1) # => "o"
"\u3042".byteslice(0) # => "\xE3"
"\u3042".byteslice(1) # => "\x81"

@see String#slice...

String#byteslice(nth, len) -> String | nil (2.0)

nth バイト目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は nil を返します。

...の長さを正の整数で指定します。

@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。

"hello".byteslice(1, 2) # => "el"
"\u3042\u3044\u3046".byteslice(0, 3) # => "\u3042"

@see String#slice...

絞り込み条件を変える

String#byteslice(range) -> String | nil (2.0)

range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲 外を指定した場合は nil を返します。

...文字列の範囲を示す Range オブジェクト

@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。

"hello".byteslice(1..2) # => "el"
"\x03\u3042\xff".byteslice(1..3) # => "\u3042"

@see String#slice...

String#capitalize -> String (2.0)

文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。

...ルファベット以外の文字は位置に関わらず変更しません。

例:

p "foobar--".capitalize # => "Foobar--"
p "fooBAR--".capitalize # => "Foobar--"
p "FOOBAR--".capitalize # => "Foobar--"

@see String#capitalize!, String#upcase,
String
#downcase, String#swapcase...

String#capitalize! -> self | nil (2.0)

文字列先頭の文字を大文字に、残りを小文字に変更します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。

...返しますが、
変更が起こらなかった場合は nil を返します。

例:

str = "foobar"
str.capitalize!
p str # => "Foobar"

str = "fooBAR"
str.capitalize!
p str # => "Foobar"

@see String#capitalize, String#upcase!,
String
#downcase!, String#swapcase!...

String#casecmp(other) -> -1 | 0 | 1 | nil (2.0)

String#<=> と同様に文字列の順序を比較しますが、 アルファベットの大文字小文字の違いを無視します。

...
String
#<=> と同様に文字列の順序を比較しますが、
アルファベットの大文字小文字の違いを無視します。

このメソッドの動作は組み込み変数 $= には影響されません。

String
#casecmp? と違って大文字小文字の違いを無視するの...
...asecmp("abcdef") #=> 0
"aBcDeF".casecmp("abcdefg") #=> -1
"abcdef".casecmp("ABCDEF") #=> 0

nil は文字列のエンコーディングが非互換の時に返されます。

"\u{e4 f6 fc}".encode("ISO-8859-1").casecmp("\u{c4 d6 dc}") #=> nil

@see String#<=>, Encoding#compatible?...

String#casecmp?(other) -> bool | nil (2.0)

大文字小文字の違いを無視し文字列を比較します。 文字列が一致する場合には true を返し、一致しない場合には false を返します。

...mp?("abcdefg") #=> false
"abcdef".casecmp?("ABCDEF") #=> true
"\u{e4 f6 fc}".casecmp?("\u{c4 d6 dc}") #=> true

nil は文字列のエンコーディングが非互換の時に返されます。

"\u{e4 f6 fc}".encode("ISO-8859-1").casecmp?("\u{c4 d6 dc}") #=> nil

@see String#casecmp...

絞り込み条件を変える

String#center(width, padding = &#39; &#39;) -> String (2.0)

長さ 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 -> [String] (2.0)

文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)

..."hello世界".chars # => ["h", "e", "l", "l", "o", "世", "界"]

ブロックが指定された場合は String#each_char と同じように動作しま
す。ただし obsolete のため、ブロックを指定する場合は
String
#each_char を使用してください。

@see String#each_char...

String#chars {|cstr| block } -> self (2.0)

文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)

..."hello世界".chars # => ["h", "e", "l", "l", "o", "世", "界"]

ブロックが指定された場合は String#each_char と同じように動作しま
す。ただし obsolete のため、ブロックを指定する場合は
String
#each_char を使用してください。

@see String#each_char...

String#chomp!(rs = $/) -> self | nil (2.0)

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.0)

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.0)

文字列の最後の文字を取り除いた新しい文字列を生成して返します。 ただし、文字列の終端が "\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.0)

文字列の最後の文字を取り除きます。 ただし、終端が "\r\n" であればその 2 文字を取り除きます。

文字列の最後の文字を取り除きます。
ただし、終端が "\r\n" であればその 2 文字を取り除きます。

@return chop! は self を変更して返しますが、取り除く文字がなかった場合は nil を返します。

String#chr -> String (2.0)

self の最初の文字だけを含む文字列を返します。

...self の最初の文字だけを含む文字列を返します。

@see String#ord, Integer#chr...

String#clear -> self (2.0)

文字列の内容を削除して空にします。 self を返します。

文字列の内容を削除して空にします。
self を返します。

例:
str = "abc"
str.clear
p str # => ""

str = ""
str.clear
p str # => ""

String#codepoints -> [Integer] (2.0)

文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)

...1, 108, 108, 111, 32, 12431, 12540, 12427, 12393]

ブロックが指定された場合は String#each_codepoint と同じように動作
します。ただし obsolete のため、ブロックを指定する場合は
String
#each_codepoint を使用してください。

@see String#each_codepoint...

絞り込み条件を変える

String#codepoints {|codepoint| block } -> self (2.0)

文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)

...1, 108, 108, 111, 32, 12431, 12540, 12427, 12393]

ブロックが指定された場合は String#each_codepoint と同じように動作
します。ただし obsolete のため、ブロックを指定する場合は
String
#each_codepoint を使用してください。

@see String#each_codepoint...

String#concat(other) -> self (2.0)

self に文字列 other を破壊的に連結します。 other が 整数である場合は other.chr(self.encoding) 相当の文字を末尾に追加します。

...ます。

self を返します。

@param other 文字列もしくは 0 以上の整数

例:

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.0)

chars で指定された文字が文字列 self にいくつあるか数えます。

chars で指定された文字が文字列 self にいくつあるか数えます。

検索する文字を示す引数 chars の形式は tr(1) と同じです。
つまり、「"a-c"」は文字 a から c を意味し、
「"^0-9"」のように文字列の先頭が「^」の場合は
指定文字以外を意味します。

文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。
また、「-」「^」「\」は
バックスラッシュ (「\」) によりエスケープできます。

引数を複数指定した場合は、
すべての引数にマッチした文字だけを数えます。

@para...

String#crypt(salt) -> String (2.0)

self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。

self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。

暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。

salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。

注意:

* crypt の処理は crypt(3) の実装に依...

String#delete!(*strs) -> self | nil (2.0)

self から strs に含まれる文字を破壊的に取り除きます。

self から strs に含まれる文字を破壊的に取り除きます。

str の形式は tr(1) と同じです。
つまり、「a-c」は a から c を意味し、"^0-9" のように
文字列の先頭が「^」の場合は指定文字以外を意味します。

「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
「^」も文字列先頭にあるときだけ否定の効果を発揮します。
また、「-」「^」「\」はバックスラッシュ (「\」)
によってエスケープできます。

なお、引数を複数指定した場合は、
すべての引数にマッチする文字だけが削除されます。

@return 通常は self を返しますが、何も変更が起こ...

絞り込み条件を変える

String#delete(*strs) -> String (2.0)

self から strs に含まれる文字を取り除いた文字列を生成して返します。

self から strs に含まれる文字を取り除いた文字列を生成して返します。

str の形式は tr(1) と同じです。
つまり、`a-c' は a から c を意味し、"^0-9" のように
文字列の先頭が `^' の場合は指定文字以外を意味します。

「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
「^」も文字列の先頭にあるときだけ効果を発揮します。
また、「-」「^」「\」はバックスラッシュ (「\」)
によってエスケープできます。

なお、引数を複数指定した場合は、
すべての引数にマッチする文字だけが削除されます。

@param strs 削除する文字列を...

String#downcase -> String (2.0)

'A' から 'Z' までの アルファベット大文字をすべて小文字に置き換えた新しい文字列を生成して返します。 アルファベット大文字以外の文字はすべてそのまま保存されます。

...あくまでも「1 文字を 1 文字として認識する」だけであって、
いわゆる全角アルファベットの大文字小文字までは変換しません。

例:
p "STRing?".downcase # => "string?"

@see String#downcase!, String#upcase, String#swapcase, String#capitalize...

String#downcase! -> self | nil (2.0)

文字列中の 'A' から 'Z' までの アルファベット大文字をすべて破壊的に小文字に置き換えます。 アルファベット大文字以外の文字はすべてそのまま保存されます。

...の大文字小文字までは変換しません。

@return self を変更して返します。変更が無かった場合は nil を返します。

例:
str = "STRing?"
str.downcase!
p str # => "string?"

@see String#downcase, String#upcase!, String#swapcase!, String#capitalize!...

String#dump -> String (2.0)

文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 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_byte -> Enumerator (2.0)

文字列の各バイトに対して繰り返します。

...に対して繰り返します。

例:
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114

@see String#bytes...

絞り込み条件を変える

String#each_byte {|byte| ... } -> self (2.0)

文字列の各バイトに対して繰り返します。

...に対して繰り返します。

例:
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114

@see String#bytes...

String#each_char -> Enumerator (2.0)

文字列の各文字に対して繰り返します。

...り返します。

たとえば、
"hello世界".each_char {|c| print c, ' ' }
は次のように出力されます。
h e l l o 世 界

@see String#chars...

String#each_char {|cstr| block } -> self (2.0)

文字列の各文字に対して繰り返します。

...り返します。

たとえば、
"hello世界".each_char {|c| print c, ' ' }
は次のように出力されます。
h e l l o 世 界

@see String#chars...

String#each_codepoint -> Enumerator (2.0)

文字列の各コードポイントに対して繰り返します。

...します。

#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]

@see String#codepoints...

String#each_codepoint {|codepoint| block } -> self (2.0)

文字列の各コードポイントに対して繰り返します。

...します。

#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]

@see String#codepoints...

絞り込み条件を変える

String#each_line(rs = $/) -> Enumerator (2.0)

文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。

...nbb\ncc\n".lines.to_a # => ["aa\n", "bb\n", "cc\n"]
p "aa\n".lines.to_a # => ["aa\n"]
p "".lines.to_a # => []

s = "aa\nbb\ncc\n"
p s.lines("\n").to_a #=> ["aa\n", "bb\n", "cc\n"]
p s.lines("bb").to_a #=> ["aa\nbb", "\ncc\n"]

@see String#lines...

String#each_line(rs = $/) {|line| ... } -> self (2.0)

文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。

...nbb\ncc\n".lines.to_a # => ["aa\n", "bb\n", "cc\n"]
p "aa\n".lines.to_a # => ["aa\n"]
p "".lines.to_a # => []

s = "aa\nbb\ncc\n"
p s.lines("\n").to_a #=> ["aa\n", "bb\n", "cc\n"]
p s.lines("bb").to_a #=> ["aa\nbb", "\ncc\n"]

@see String#lines...

String#empty? -> bool (2.0)

文字列が空 (つまり長さ 0) の時、真を返します。

文字列が空 (つまり長さ 0) の時、真を返します。

String#encode!(encoding, from_encoding, options = nil) -> self (2.0)

self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ 与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば self のエンコーディングが使われます。変換後の self を返します。

...指定します。
@param from_encoding 変換元のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@return 変換後のself

例:

#coding:UTF-8
s = "いろは"
s.encode!("EUC-JP")
s.encode!(Encoding::UTF_8)

@see String#encode...

String#encode!(encoding, options = nil) -> self (2.0)

self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ 与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば self のエンコーディングが使われます。変換後の self を返します。

...指定します。
@param from_encoding 変換元のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@return 変換後のself

例:

#coding:UTF-8
s = "いろは"
s.encode!("EUC-JP")
s.encode!(Encoding::UTF_8)

@see String#encode...

絞り込み条件を変える

String#encode(encoding, from_encoding, options = nil) -> String (2.0)

self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => replace と :undef => replace が指定されたと見なされ、nil ならば変換は行われません。

...ンコーディングにおいて文字が定義されていない場合に、未定義文字を置換文字で置き換えます。
: :replace => string
前述の :invalid => :replace や :undef => :replace で用いられる置換文字を指定します。デフォルトは Unicode 系のエン...
...うとすると Encoding::UndefinedConversionError が発生する
str = "\u00b7\u2014"
str.encode("Windows-31J", fallback: { "\u00b7" => "\xA5".force_encoding("Windows-31J"),
"\u2014" => "\x{815C}".force_encoding("Windows-31J") })

@see String#encode!...

String#encode(encoding, options = nil) -> String (2.0)

self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => replace と :undef => replace が指定されたと見なされ、nil ならば変換は行われません。

...ンコーディングにおいて文字が定義されていない場合に、未定義文字を置換文字で置き換えます。
: :replace => string
前述の :invalid => :replace や :undef => :replace で用いられる置換文字を指定します。デフォルトは Unicode 系のエン...
...うとすると Encoding::UndefinedConversionError が発生する
str = "\u00b7\u2014"
str.encode("Windows-31J", fallback: { "\u00b7" => "\xA5".force_encoding("Windows-31J"),
"\u2014" => "\x{815C}".force_encoding("Windows-31J") })

@see String#encode!...

String#encode(options = nil) -> String (2.0)

self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => replace と :undef => replace が指定されたと見なされ、nil ならば変換は行われません。

...ンコーディングにおいて文字が定義されていない場合に、未定義文字を置換文字で置き換えます。
: :replace => string
前述の :invalid => :replace や :undef => :replace で用いられる置換文字を指定します。デフォルトは Unicode 系のエン...
...うとすると Encoding::UndefinedConversionError が発生する
str = "\u00b7\u2014"
str.encode("Windows-31J", fallback: { "\u00b7" => "\xA5".force_encoding("Windows-31J"),
"\u2014" => "\x{815C}".force_encoding("Windows-31J") })

@see String#encode!...

String#encoding -> Encoding (2.0)

文字列のエンコーディング情報を表現した Encoding オブジェクトを返します。

文字列のエンコーディング情報を表現した Encoding オブジェクトを返します。

@see Encoding

String#end_with?(*strs) -> bool (2.0)

self の末尾が strs のいずれかであるとき true を返します。

...rs のいずれかであるとき true を返します。

@param strs パターンを表す文字列 (のリスト)

例:
"string".end_with?("ing") # => true
"string".end_with?("str") # => false
"string".end_with?("str", "ing") # => true

@see String#start_with?...

絞り込み条件を変える

String#eql?(other) -> bool (2.0)

文字列の内容が文字列 other の内容と等しいときに true を返します。 等しくなければ false を返します。

...します。
同一のオブジェクトかどうかを比較するわけではありません。
つまり、"string".eql?(str) という式を実行した場合には、
str が "string" という内容の文字列でありさえすれば常に true を返します。
同一のオブジェクト...
...は、String#upcase,
String
#downcase で大文字小文字を揃えてから比較してください。

Hash クラス内での比較に使われます。

@param other 任意のオブジェクト
@return true か false

例:

p "string".eql?("string") # => true
p "string".eql?(...
...alse
p "string".eql?("") # => false
p "".eql?("string") # => false

p "string".eql?("str" + "ing") # => true (内容が同じなら true)
p "string".eql?("stringX".chop) # => true (内容が同じなら true)

p "string".upcase.eql?("String".upcase)...

String#ext(newext = &#39;&#39;) -> String (2.0)

自身の拡張子を与えられた拡張子で置き換えます。

自身の拡張子を与えられた拡張子で置き換えます。

自身に拡張子が無い場合は、与えられた拡張子を追加します。
与えられた拡張子が空文字列の場合は、自身の拡張子を削除します。

@param newext 新しい拡張子を指定します。

String#force_encoding(encoding) -> self (2.0)

文字列の持つエンコーディング情報を指定された encoding に変えます。

文字列の持つエンコーディング情報を指定された encoding に変えます。

このとき実際のエンコーディングは変換されず、検査もされません。
Array#pack などで得られたバイト列のエンコーディングを指定する時に使います。

@param encoding 変更するエンコーディング情報を表す文字列か Encoding オブジェクトを指定します。

例:

s = [164, 164, 164, 237, 164, 207].pack("C*")
p s.encoding #=> ASCII-8BIT
p...

String#getbyte(index) -> Integer | nil (2.0)

index バイト目のバイトを整数で返します。

index バイト目のバイトを整数で返します。

index に負を指定すると末尾から数えた位置のバイト
を取り出します。
範囲外を指定した場合は nil を返します。

@param index バイトを取り出す位置

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

文字列中で 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.0)

文字列中で 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, hash) -> self | nil (2.0)

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

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

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

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

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

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

文字列中で 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) -> Enumerator (2.0)

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

...込み変数 $1, $2, $3, ... を問題なく参照できます。

なお、ブロック付きの gsub で文字列を置き換えない場合は[[String#scan]]
と同じ動作になります。

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

例:

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

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

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

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

...込み変数 $1, $2, $3, ... を問題なく参照できます。

なお、ブロック付きの gsub で文字列を置き換えない場合は[[String#scan]]
と同じ動作になります。

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

例:

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

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

絞り込み条件を変える

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

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

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

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

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

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

文字列中で 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.0)

self のハッシュ値を返します。 eql? で等しい文字列は、常にハッシュ値も等しくなります。

self のハッシュ値を返します。
eql? で等しい文字列は、常にハッシュ値も等しくなります。

@see Hash

String#hex -> Integer (2.0)

文字列に 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.0)

文字列中に部分文字列 substr が含まれていれば真を返します。

文字列中に部分文字列 substr が含まれていれば真を返します。

@param substr 検索する文字列

絞り込み条件を変える

String#index(pattern, pos = 0) -> Integer (2.0)

文字列のインデックス 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) -> self (2.0)

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.0)

文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。 変換された文字列は印字可能な文字のみによって構成されます

...バッグのために用意されています。
永続化などの目的で文字列をダンプしたいときは、
String
#dump を使うべきです。

例:

# p ではないことに注意
puts "string".inspect # => "string"
puts "\t\r\n".inspect # => "\t\r\n"

@see String#dump...

String#intern -> Symbol (2.0)

文字列に対応するシンボル値 Symbol を返します。

文字列に対応するシンボル値 Symbol を返します。

なお、このメソッドの逆にシンボルに対応する文字列を得るには
Symbol#to_s または Symbol#id2name を使います。

シンボル文字列にはナルキャラクタ("\0")、空の文字列の使用も可能です。

例:
p "foo".intern # => :foo
p "foo".intern.to_s == "foo" # => true

String#iseuc -> bool (2.0)

self が EUC-JP なバイト列として正当であるかどうかを判定します。

self が EUC-JP なバイト列として正当であるかどうかを判定します。

Kconv.#iseuc(self) と同じです。

絞り込み条件を変える

String#isjis -> bool (2.0)

self が ISO-2022-JP なバイト列として正当であるかどうかを判定します。

self が ISO-2022-JP なバイト列として正当であるかどうかを判定します。

Kconv.isjis(self) と同じです。

String#issjis -> bool (2.0)

self が Shift_JIS なバイト列として正当であるかどうかを判定します。

self が Shift_JIS なバイト列として正当であるかどうかを判定します。


Kconv.#issjis と同じです。

String#isutf8 -> bool (2.0)

self が UTF-8 なバイト列として正当であるかどうかを判定します。

self が UTF-8 なバイト列として正当であるかどうかを判定します。

Kconv.#isutf8(self) と同じです。

String#kconv(out_code, in_code = Kconv::AUTO) -> String (2.0)

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.0)

文字列の文字数を返します。バイト数を知りたいときは bytesize メソッドを使ってください。

...文字列の文字数を返します。バイト数を知りたいときは bytesize メソッドを使ってください。

@see String#bytesize...

絞り込み条件を変える

String#lines(rs = $/) -> [String] (2.0)

文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)

...空行で分割します)。

@param rs 行末を示す文字列

ブロックが指定された場合は String#each_line と同じように動作しま
す。ただし obsolete のため、ブロックを指定する場合は
String
#each_line を使用してください。

@see String#each_line...

String#lines(rs = $/) {|line| ... } -> self (2.0)

文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)

...空行で分割します)。

@param rs 行末を示す文字列

ブロックが指定された場合は String#each_line と同じように動作しま
す。ただし obsolete のため、ブロックを指定する場合は
String
#each_line を使用してください。

@see String#each_line...

String#ljust(width, padding = &#39; &#39;) -> String (2.0)

長さ 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.0)

文字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \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.0)

文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \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"

絞り込み条件を変える

<< 1 2 > >>