루비에서 구분된 문자열을 분할하여 배열로 변환하는 방법은 무엇입니까?
끈이 있어요.
"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]
또는 이후 버전의 루비(>= 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 }
정수로서
위해서String Integer
여지없이String
arr = "12345"
arr.split('')
output: ["1","2","3","4","5"]
위해서String Integer
여백을 두고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]
문자열용
arr = "abc"
arr.split('')
output: ["a","b","c"]
설명:
arr
-> 작업을 수행할 문자열입니다.split()
->는 입력을 분할하여 배열로 저장하는 메서드입니다.''
또는' '
또는','
->는 지정된 문자열에서 제거해야 하는 값입니다.
쉼표와 같은 구분 기호가 있는 문자열을 변환하는 가장 간단한 방법은 분할 방법을 사용하는 것입니다.
"1,2,3,4".split(',') # "1", "2", "3", "4"]
루비 문서에서 분할 방법을 사용하는 방법에 대한 자세한 정보를 찾을 수 있습니다.
문자열을 구분 기호를 기준으로 하위 문자열로 나누고 하위 문자열의 배열을 반환합니다.
패턴이 문자열인 경우 문자열을 분할할 때 패턴의 내용이 구분 기호로 사용됩니다.패턴이 단일 공백인 경우 문자열은 공백으로 분할되고 선행 공백과 연속된 공백 문자의 런은 무시됩니다.
패턴이 Regexp이면 패턴이 일치하는 곳에서 str이 분할됩니다.패턴이 0 길이 문자열과 일치할 때마다 str은 개별 문자로 분할됩니다.패턴에 그룹이 포함된 경우 배열에서도 각 일치 항목이 반환됩니다.
패턴을 생략하면 $; 값이 사용됩니다.$;가 0인 경우(기본값) str은 ' '이 지정된 것처럼 공백에서 분할됩니다.
limit 파라미터를 생략하면 뒤에 오는 null 필드가 억제됩니다.제한이 양수이면 최대 필드 수가 반환됩니다(제한이 1이면 전체 문자열이 배열의 유일한 항목으로 반환됨).음수인 경우 반환되는 필드 수에 제한이 없으며 뒤에 오는 null 필드는 억제되지 않습니다.
"12345".each_char.map(&:to_i)
each_char
기본적으로 과 동일합니다.split('')
문자열을 문자 배열로 분할합니다.
흠, 원래 질문에서 문자열에 쉼표가 포함되어 있다는 것을 이제서야 깨달았어요. 그래서 제 대답은 정말 도움이 되지 않아요;-(..
언급URL : https://stackoverflow.com/questions/975769/how-to-split-a-delimited-string-in-ruby-and-convert-it-to-an-array
'prosource' 카테고리의 다른 글
Xcode에서 Firebase Analytics 설정 (0) | 2023.05.18 |
---|---|
예외를 잡았습니다!!자 이제는 뭐죠? (0) | 2023.05.18 |
MongoDB 문서에서 이중 중첩 배열에서 요소를 제거하는 방법 (0) | 2023.05.18 |
Swift에서 사용자 지정 메시지로 오류/예외를 발생시키는 가장 간단한 방법은 무엇입니까? (0) | 2023.05.18 |
Postgres에서 "ERROR: column c.relhasoids is not exist"를 수정하는 방법은 무엇입니까? (0) | 2023.05.18 |