programing

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

goodsources 2023. 6. 5. 23:51
반응형

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

저는 루비 배열을 가지고 있습니다.['12','34','35','231'].

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

내가 어떻게 그럴 수 있을까?

즐거운 시간을 함께 하겠습니다.

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

편집:

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

첫 번째와 마지막 단일 따옴표를 추가할 일부 문자열 보간: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(",")

배열을 다음과 같이 가정합니다.

arr=["1","2","3","4"]

배열을 문자열로 변환하는 방법:

Array_name.join(",")

예:

arr.join(",")

결과:

"'1','2','3','4'"

array.inspect.inspect.gsub(/\[|\]/, "")할 수 있었습니다

언급URL : https://stackoverflow.com/questions/3500814/ruby-array-to-string-conversion

반응형