IT story

루비에서 구분 된 문자열을 분할하여 배열로 변환하는 방법은 무엇입니까?

hot-time 2020. 4. 21. 08:21
반응형

루비에서 구분 된 문자열을 분할하여 배열로 변환하는 방법은 무엇입니까?


나는 끈이있다

"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"]

설명 :

  1. arr -> 어떤 작업을 수행 할 문자열입니다.
  2. split() ->는 입력을 분할하여 배열로 저장하는 방법입니다.
  3. ''또는 ' '또는 ','-> 필요로되는 값이 소정의 문자열로부터 삭제된다.

쉼표와 같이 구분 기호가있는 문자열을 변환하는 가장 간단한 방법은 split 메소드를 사용하는 것입니다.

"1,2,3,4".split(',') # "1", "2", "3", "4"]

루비 문서 에서 split 메소드를 사용하는 방법에 대한 자세한 정보를 찾을 수 있습니다

str을 구분 기호에 따라 하위 문자열로 나누고이 하위 문자열의 배열을 반환합니다.

pattern이 String 인 경우 str을 분할 할 때 해당 내용이 분리 문자로 사용됩니다. 패턴이 단일 공백 ​​인 경우 str은 공백으로 분할되고 선행 공백과 연속 공백 문자는 무시됩니다.

패턴이 정규 표현식 인 경우 str은 패턴이 일치하는 위치로 나뉩니다. 패턴이 길이가 0 인 문자열과 일치 할 때마다 str은 개별 문자로 분할됩니다. 패턴에 그룹이 포함 된 경우 해당 일치 항목도 배열에 반환됩니다.

패턴을 생략하면 $; 사용. 만약 $; nil (디폴트 값), str은` '가 지정된 것처럼 공백에서 분리됩니다.

limit 매개 변수를 생략하면 후행 널 필드가 억제됩니다. limit이 양수이면 최대 개수의 필드가 반환됩니다 (제한이 1이면 전체 문자열이 배열의 유일한 항목으로 반환 됨). 음수 인 경우 반환되는 필드 수에 제한이 없으며 후행 null 필드는 표시되지 않습니다.


"12345".each_char.map(&:to_i)

each_char기본적으로 동일합니다 split(''): 문자열을 문자 배열로 나눕니다.

흠, 나는 원래 질문에 문자열에 쉼표가 포함되어 있다는 것을 알았으므로 내 대답은 실제로 도움이되지 않습니다 ;-( ..

참고 : https://stackoverflow.com/questions/975769/how-to-split-a-delimited-string-in-ruby-and-convert-it-to-an-array

반응형