如何在Ruby中拆分分隔的字符串并将其转换为数组?

Nei*_*ton 226 ruby arrays string split

我有一个字符串

"1,2,3,4"

我想把它转换成一个数组:

[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

怎么样?

Sha*_*ell 402

>> "1,2,3,4".split(",")
=> ["1", "2", "3", "4"]
Run Code Online (Sandbox Code Playgroud)

或者对于整数:

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

或者对于更新版本的ruby(> = 1.9 - 正如Alex指出的那样):

>> "1,2,3,4".split(",").map(&:to_i)
=> [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

  • 请记住,如果你使用> = 1.9,你可以使用"1,2,3,4".split(',').map(:to_i) (28认同)
  • 如果您正在使用有效支持,您可以执行:map(&:to_i) (7认同)

Oli*_* N. 31

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

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


Ara*_*vin 17

因为String Integer没有空间String

arr = "12345"

arr.split('')

output: ["1","2","3","4","5"]
Run Code Online (Sandbox Code Playgroud)

因为String Integer空间如此String

arr = "1 2 3 4 5"

arr.split(' ')

output: ["1","2","3","4","5"]
Run Code Online (Sandbox Code Playgroud)

因为String Integer没有空间Integer

arr = "12345"

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

output: [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

对于String

arr = "abc"

arr.split('')

output: ["a","b","c"]
Run Code Online (Sandbox Code Playgroud)

说明:

  1. arr - >你要执行任何动作的字符串.
  2. split() - >是一种方法,它将输入分开并将其存储为数组.
  3. ''或者' '','- >是一个值,其被需要从给定串中删除.