红宝石。如何在数组中拆分字符串元素?

时间:2016-03-12 19:33:07

标签: arrays ruby split

我有一个arr = [" abcd"]

的数组

Q1。是否有一种更简单的方法来分割' abcd'进入arr = [" a"," b"," c"," d"]而不是以下内容:

    arr=["abcd"]
    arr_mod=[]
    x=0
    while x < arr[0].size
        arr_mod << arr[0][x]
        x +=1
    end
    puts "==>#{arr_mod}"

arr.split(&#39;&#39;)无效。

Q2。有没有一种方法可以将arr = [&#34; abcd&#34;]转换为&#34; abcd&#34;?

的字符串

5 个答案:

答案 0 :(得分:2)

arr.first.split('')
  #=> ["a", "b", "c", "d"] 

arr.first
  #=> "abcd"

答案 1 :(得分:0)

最简单的方法是

arr.join("").chars

这会将arr转换为一个大字符串,然后将该字符串转换为字符数组。

对于第二个问题,只需执行arr.join(""),这会将所有字符串转换为一个大字符串。

有关详细信息,请查看Array#joinString#chars以获取更多详细信息。

答案 2 :(得分:0)

Q1:

如果您需要一种迭代多个元素的数组的方法,这将为您提供一些灵活性:

arr = ['abcd']
arr = arr[0].split("")
  #=> ["a", "b", "c", "d"]

Q2:

arr = ['abcd']
arr = arr[0]
  #=> "abcd"

答案 3 :(得分:0)

Q1:

arr.map(&:chars).flatten
#=> ["a", "b", "c", "d"]

Q2:

arr = arr[0]
#=> "abcd"

答案 4 :(得分:0)

这是一种方式:

arr.join.split('') #=> ["a", "b", "c", "d"]