簡體   English   中英

如何在Ruby中拆分分隔的字符串並將其轉換為數組?

[英]How to split a delimited string in Ruby and convert it to an array?

我有一個字符串

"1,2,3,4"

我想把它轉換成一個數組:

[1,2,3,4]

怎么樣?

>> "1,2,3,4".split(",")
=> ["1", "2", "3", "4"]

或者對於整數:

>> "1,2,3,4".split(",").map { |s| s.to_i }
=> [1, 2, 3, 4]

或者對於更新版本的ruby(> = 1.9 - 正如Alex指出的那樣):

>> "1,2,3,4".split(",").map(&:to_i)
=> [1, 2, 3, 4]

"1,2,3,4".split(",")作為字符串

"1,2,3,4".split(",").map { |s| s.to_i } "1,2,3,4".split(",").map { |s| s.to_i }作為整數

對於沒有空格的String Integer作為String

arr = "12345"

arr.split('')

output: ["1","2","3","4","5"]

對於String Integer其中space為String

arr = "1 2 3 4 5"

arr.split(' ')

output: ["1","2","3","4","5"]

對於沒有空格的String Integer作為Integer

arr = "12345"

arr.split('').map(&:to_i)

output: [1,2,3,4,5]

對於String

arr = "abc"

arr.split('')

output: ["a","b","c"]

說明

  1. arr - >你要執行任何動作的字符串。
  2. split() - >是一個方法,它將輸入分開並將其存儲為數組。
  3. ''' '',' - >是一個值,需要從給定的字符串中刪除。

轉換具有逗號分隔符的字符串的最簡單方法就是使用split方法

"1,2,3,4".split(',') # "1", "2", "3", "4"]

你可以在ruby文檔中找到有關如何使用split方法的更多信息

將str分為基於分隔符的子字符串,返回這些子字符串的數組。

如果pattern是String,則在拆分str時將其內容用作分隔符。 如果pattern是單個空格,則str在空格上拆分,前導空格和連續空格字符的運行被忽略。

如果pattern是Regexp,則str在模式匹配的位置被划分。 只要模式匹配零長度字符串,str就會分成單個字符。 如果pattern包含組,則相應的匹配也將在數組中返回。

如果省略pattern,則$;的值; 用來。 如果$; 是nil(這是默認值),str在空格上分割,就像指定了`'一樣。

如果省略limit參數,則禁止尾隨空字段。 如果limit是正數,則最多將返回該字段數(如果limit為1,則整個字符串將作為數組中的唯一條目返回)。 如果為負數,則返回的字段數沒有限制,並且不會抑制尾隨空字段。

"12345".each_char.map(&:to_i)

each_charsplit('')基本相同:它將字符串拆分為其字符數組。

嗯,我現在才意識到,在原始問題中,字符串中包含逗號,所以我的回答並不是很有用;-( ..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM