IT

루비 배열에서 문자열로 변환

lottoking 2020. 5. 31. 10:27
반응형

루비 배열에서 문자열로 변환


같은 루비 배열이 ['12','34','35','231']있습니다.

그것을 같은 문자열로 변환하고 싶습니다 '12','34','35','231'.

어떻게해야합니까?


나는 재미와 함께 다음과 같이 합류 할 것이다 :

['12','34','35','231'].join(', ')

편집하다:

"'#{['12','34','35','231'].join("', '")}'"

첫 번째와 마지막 작은 따옴표를 추가하는 일부 문자열 보간 : P


> a = ['12','34','35','231']
> a.map { |i| "'" + i.to_s + "'" }.join(",")
=> "'12','34','35','231'"

이 코드를 사용해보십시오 ['12','34','35','231']*","

"12,34,35,231" 결과를 제공합니다

나는 이것이 당신이 결과이기를 바랍니다.


array.map{ |i|  %Q('#{i}') }.join(',')


string_arr.map(&:inspect).join(',') # or other separator

이 방법은 읽기 쉽고 루비 쉬합니다.

add_quotes =- > x{"'#{x}'"}

p  ['12','34','35','231'].map(&add_quotes).join(',') => "'12','34','35','231'"

> puts "'"+['12','34','35','231']*"','"+"'"
'12','34','35','231'

> puts ['12','34','35','231'].inspect[1...-1].gsub('"',"'")
'12', '34', '35', '231'

그리고 또 다른 변형

a = ['12','34','35','231']
a.to_s.gsub(/\"/, '\'').gsub(/[\[\]]/, '')

irb(main)> varA
=> {0=>["12", "34", "35", "231"]}
irb(main)> varA = Hash[*ex.collect{|a,b| [a,b.join(",")]}.flatten]
...

irb(main):027:0> puts ['12','34','35','231'].inspect.to_s[1..-2].gsub('"', "'")
'12', '34', '35', '231'
=> nil

함수형 프로그래밍 방식을 사용하여 데이터를 변환 할 수 있습니다.

['12','34','35','231'].map{|i| "'#{i}'"}.join(",")


array.inspect.inspect.gsub(/\[|\]/, "") 트릭을 할 수

참고 URL : https://stackoverflow.com/questions/3500814/ruby-array-to-string-conversion

반응형