| 序號 |
方法和描述 |
| 1 |
str % arg
使用格式規範格式化字串。如果 arg 包含多個替換項,則 arg 必須是陣列。有關格式規範的資訊,請參閱“Kernel 模組”下的 sprintf。 |
| 2 |
str * integer
返回一個新的字串,其中包含 integer 次 str。換句話說,str 重複 integer 次。 |
| 3 |
str + other_str
將 other_str 連線到 str。 |
| 4 |
str << obj
將物件連線到 str。如果物件是 0.255 範圍內的 Fixnum,則將其轉換為字元。將其與 concat 進行比較。 |
| 5 |
str <=> other_str
比較 str 和 other_str,返回 -1(小於)、0(等於)或 1(大於)。比較區分大小寫。 |
| 6 |
str == obj
測試 str 和 obj 是否相等。如果 obj 不是 String,則返回 false;如果 str <=> obj 返回 0,則返回 true。 |
| 7 |
str =~ obj
將 str 與正則表示式模式 obj 匹配。返回匹配開始的位置;否則返回 false。 |
| 8 |
str.capitalize
將字串的首字母大寫。 |
| 9 |
str.capitalize!
與 capitalize 相同,但更改會就地進行。 |
| 10 |
str.casecmp
進行字串的不區分大小寫的比較。 |
| 11 |
str.center
居中字串。 |
| 12 |
str.chomp
刪除字串末尾的記錄分隔符 ($/),通常為 \n。如果不存在記錄分隔符,則不執行任何操作。 |
| 13 |
str.chomp!
與 chomp 相同,但更改會就地進行。 |
| 14 |
str.chop
刪除 str 中的最後一個字元。 |
| 15 |
str.chop!
與 chop 相同,但更改會就地進行。 |
| 16 |
str.concat(other_str)
將 other_str 連線到 str。 |
| 17 |
str.count(str, ...)
計算一個或多個字元集。如果有多個字元集,則計算這些字元集的交集 |
| 18 |
str.crypt(other_str)
對 str 應用單向密碼雜湊。引數是鹽字串,應該有兩個字元長,每個字元的範圍是 a.z、A.Z、0.9、. 或 /。 |
| 19 |
str.delete(other_str, ...)
返回 str 的副本,其中刪除了其引數交集中的所有字元。 |
| 20 |
str.delete!(other_str, ...)
與 delete 相同,但更改會就地進行。 |
| 21 |
str.downcase
返回 str 的副本,其中所有大寫字母都替換為小寫字母。 |
| 22 |
str.downcase!
與 downcase 相同,但更改會就地進行。 |
| 23 |
str.dump
返回 str 的版本,其中所有非列印字元都替換為 \nnn 表示法,所有特殊字元都轉義。 |
| 24 |
str.each(separator = $/) { |substr| block }
使用引數作為記錄分隔符(預設為 $/)分割 str,並將每個子字串傳遞給提供的塊。 |
| 25 |
str.each_byte { |fixnum| block }
將 str 中的每個位元組傳遞給塊,並將每個位元組作為位元組的十進位制表示返回。 |
| 26 |
str.each_line(separator=$/) { |substr| block }
使用引數作為記錄分隔符(預設為 $/)分割 str,並將每個子字串傳遞給提供的塊。 |
| 27 |
str.empty?
如果 str 為空(長度為零),則返回 true。 |
| 28 |
str.eql?(other)
如果兩個字串具有相同的長度和內容,則它們相等。 |
| 29 |
str.gsub(pattern, replacement) [或]
str.gsub(pattern) { |match| block }
返回 str 的副本,其中所有 pattern 的出現都被替換為 replacement 或塊的值。pattern 通常是一個 Regexp;如果它是一個 String,則不會解釋任何正則表示式元字元(也就是說,/\d/ 將匹配一個數字,但 '\d' 將匹配一個反斜槓後跟一個 'd') |
| 30 |
str[fixnum] [或] str[fixnum,fixnum] [或] str[range] [或] str[regexp] [或] str[regexp, fixnum] [或] str[other_str]
引用 str,使用以下引數:一個 Fixnum,返回 fixnum 處的字元程式碼;兩個 Fixnum,返回從偏移量(第一個 fixnum)到長度(第二個 fixnum)的子字串;range,返回範圍內的子字串;regexp 返回匹配字串的部分;帶 fixnum 的 regexp,返回 fixnum 處的匹配資料;other_str 返回與 other_str 匹配的子字串。負 Fixnum 從字串末尾開始,-1。 |
| 31 |
str[fixnum] = fixnum [或] str[fixnum] = new_str [或] str[fixnum, fixnum] = new_str [或] str[range] = aString [或] str[regexp] = new_str [或] str[regexp, fixnum] = new_str [或] str[other_str] = new_str ]
替換(賦值)字串的全部或部分。slice! 的同義詞。 |
| 32 |
str.gsub!(pattern, replacement) [或] str.gsub!(pattern) { |match|block }
就地執行 String#gsub 的替換,返回 str,如果未執行任何替換則返回 nil。 |
| 33 |
str.hash
返回基於字串長度和內容的雜湊值。 |
| 34 |
str.hex
將 str 的前導字元視為十六進位制數字的字串(帶可選符號和可選 0x),並返回相應的數字。出錯時返回零。 |
| 35 |
str.include? other_str [或] str.include? fixnum
如果 str 包含給定的字串或字元,則返回 true。 |
| 36 |
str.index(substring [, offset]) [或]
str.index(fixnum [, offset]) [或]
str.index(regexp [, offset])
返回 str 中給定子字串、字元 (fixnum) 或模式 (regexp) 的第一次出現的索引。如果未找到,則返回 nil。如果存在第二個引數,則它指定字串中開始搜尋的位置。 |
| 37 |
str.insert(index, other_str)
在給定索引處的字元之前插入 other_str,修改 str。負索引從字串末尾計數,並在給定字元之後插入。目的是插入一個字串,使其從給定索引開始。 |
| 38 |
str.inspect
返回 str 的可列印版本,特殊字元已轉義。 |
| 39 |
str.intern [或] str.to_sym
返回與 str 對應的 Symbol,如果該符號以前不存在,則建立該符號。 |
| 40 |
str.length
返回 str 的長度。比較 size。 |
| 41 |
str.ljust(integer, padstr = ' ')
如果 integer 大於 str 的長度,則返回一個長度為 integer 的新 String,其中 str 左對齊並用 padstr 填充;否則,返回 str。 |
| 42 |
str.lstrip
返回 str 的副本,其中已刪除前導空格。 |
| 43 |
str.lstrip!
從 str 中刪除前導空格,如果未進行任何更改則返回 nil。 |
| 44 |
str.match(pattern)
將 pattern 轉換為 Regexp(如果它還不是 Regexp),然後在其上呼叫其 match 方法。 |
| 45 |
str.oct
將 str 的前導字元視為八進位制數字的字串(帶可選符號),並返回相應的數字。如果轉換失敗,則返回 0。 |
| 46 |
str.replace(other_str)
用 other_str 中相應的 value 替換 str 的內容和 taintedness。 |
| 47 |
str.reverse
返回一個新字串,其中 str 中的字元按相反順序排列。 |
| 48 |
str.reverse!
就地反轉 str。 |
| 49 |
str.rindex(substring [, fixnum]) [或]
str.rindex(fixnum [, fixnum]) [或]
str.rindex(regexp [, fixnum])
返回 str 中給定子字串、字元 (fixnum) 或模式 (regexp) 的最後一次出現的索引。如果未找到,則返回 nil。如果存在第二個引數,則它指定字串中結束搜尋的位置。不會考慮此點以外的字元。 |
| 50. |
str.rjust(integer, padstr = ' ')
如果 integer 大於 str 的長度,則返回一個長度為 integer 的新 String,其中 str 右對齊並用 padstr 填充;否則,返回 str。 |
| 51 |
str.rstrip
返回移除尾隨空格後的 str 副本。 |
| 52 |
str.rstrip!
移除 str 中的尾隨空格,如果沒有進行更改則返回 nil。 |
| 53 |
str.scan(pattern) [或]
str.scan(pattern) { |match, ...| block }
這兩種形式都會遍歷 str,匹配模式(可能是正則表示式或字串)。對於每個匹配項,都會生成一個結果,並將其新增到結果陣列中或傳遞給塊。如果模式不包含組,則每個單獨的結果都包含匹配的字串 $&。如果模式包含組,則每個單獨的結果本身就是一個數組,其中包含每個組的一個條目。 |
| 54 |
str.slice(fixnum) [或] str.slice(fixnum, fixnum) [或]
str.slice(range) [或] str.slice(regexp) [或]
str.slice(regexp, fixnum) [或] str.slice(other_str)
參見 str[fixnum] 等。
str.slice!(fixnum) [或] str.slice!(fixnum, fixnum) [或]
str.slice!(range) [或] str.slice!(regexp) [或]
str.slice!(other_str)
從 str 中刪除指定的部分,並返回刪除的部分。採用 Fixnum 的形式如果值超出範圍將引發 IndexError;Range 形式將引發 RangeError,而 Regexp 和 String 形式將靜默忽略賦值。 |
| 55 |
str.split(pattern = $, [limit])
根據分隔符將 str 分為子字串,返回這些子字串的陣列。
如果 *pattern* 是一個字串,則其內容將用作分割 str 的分隔符。如果 pattern 是單個空格,則 str 將按空格分割,忽略前導空格和連續空格字元的執行。
如果 *pattern* 是一個正則表示式,則在模式匹配的地方分割 str。當模式匹配零長度字串時,str 將被分割成單個字元。
如果省略 *pattern*,則使用 $; 的值。如果 $; 為 nil(預設值),則 str 將按空格分割,就像指定了 ` ` 一樣。
如果省略 *limit* 引數,則會抑制尾隨空欄位。如果 limit 是一個正數,則最多返回該數量的欄位(如果 limit 為 1,則整個字串將作為陣列中唯一的條目返回)。如果為負數,則返回的欄位數量沒有限制,並且不會抑制尾隨空欄位。
|
| 56 |
str.squeeze([other_str]*)
使用 String#count 中描述的過程,從 other_str 引數構建一個字元集。返回一個新字串,其中此集合中出現的相同字元的執行將被單個字元替換。如果沒有給出引數,則所有相同字元的執行都將被單個字元替換。 |
| 57 |
str.squeeze!([other_str]*)
就地壓縮 str,返回 str 或如果沒有進行更改則返回 nil。 |
| 58 |
str.strip
返回移除前導和尾隨空格後的 str 副本。 |
| 59 |
str.strip!
移除 str 中的前導和尾隨空格。如果 str 未被更改,則返回 nil。 |
| 60 |
str.sub(pattern, replacement) [或]
str.sub(pattern) { |match| block }
返回 str 的副本,其中 pattern 的第一次出現被替換為 replacement 或塊的值。pattern 通常是一個正則表示式;如果它是一個字串,則不會解釋任何正則表示式元字元。 |
| 61 |
str.sub!(pattern, replacement) [或]
str.sub!(pattern) { |match| block }
就地執行 String#sub 的替換,返回 str,如果沒有執行替換則返回 nil。 |
| 62 |
str.succ [或] str.next
返回 str 的後繼。 |
| 63 |
str.succ! [或] str.next!
等同於 String#succ,但就地修改接收者。 |
| 64 |
str.sum(n = 16)
返回 str 中字元的基本 n 位校驗和,其中 n 是可選的 Fixnum 引數,預設為 16。結果只是 str 中每個字元的二進位制值之和模 2n - 1。這不是一個特別好的校驗和。 |
| 65 |
str.swapcase
返回 str 的副本,其中大寫字母轉換為小寫,小寫字母轉換為大寫。 |
| 66 |
str.swapcase!
等同於 String#swapcase,但就地修改接收者,返回 str,如果沒有進行更改則返回 nil。 |
| 67 |
str.to_f
返回將 str 中的前導字元解釋為浮點數的結果。有效數字之後的多餘字元將被忽略。如果 str 的開頭沒有有效的數字,則返回 0.0。此方法永遠不會引發異常。 |
| 68 |
str.to_i(base = 10)
返回將 str 中的前導字元解釋為整數基數(基數 2、8、10 或 16)的結果。有效數字之後的多餘字元將被忽略。如果 str 的開頭沒有有效的數字,則返回 0。此方法永遠不會引發異常。 |
| 69 |
str.to_s [或] str.to_str
返回接收者。
|
| 70 |
str.tr(from_str, to_str)
返回 str 的副本,其中 from_str 中的字元被 to_str 中的相應字元替換。如果 to_str 短於 from_str,則用其最後一個字元填充。兩個字串都可以使用 c1.c2 表示法來表示字元範圍,並且 from_str 可以以 ^ 開頭,表示除列出的字元之外的所有字元。
|
| 71 |
str.tr!(from_str, to_str)
使用與 String#tr 相同的規則就地轉換 str。返回 str,如果沒有進行更改則返回 nil。
|
| 72 |
str.tr_s(from_str, to_str)
處理 str 的副本,如 String#tr 中所述,然後刪除翻譯所影響區域中的重複字元。
|
| 73 |
str.tr_s!(from_str, to_str)
就地對 str 執行 String#tr_s 處理,返回 str,如果沒有進行更改則返回 nil。
|
| 74 |
str.unpack(format)
根據格式字串解碼 str(可能包含二進位制資料),返回提取的每個值的陣列。格式字串由一系列單字元指令組成,如表 18 中所述。每個指令後可以跟一個數字,表示使用此指令重複的次數。星號 (*) 將使用所有剩餘的元素。指令 sSiIlL 後可以跟下劃線 (_) 以使用底層平臺為指定型別指定的本機大小;否則,它使用與平臺無關的一致大小。格式字串中的空格將被忽略。
|
| 75 |
str.upcase
返回 str 的副本,其中所有小寫字母都替換為其大寫字母對應項。此操作不區分割槽域設定。只有字元 a 到 z 受影響。
|
| 76 |
str.upcase!
將 str 的內容更改為大寫,如果沒有進行更改則返回 nil。
|
| 77 |
str.upto(other_str) { |s| block }
遍歷連續的值,從 str 開始到 other_str(包括)結束,依次將每個值傳遞給塊。String#succ 方法用於生成每個值。
|