prosource

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

probook 2023. 5. 18. 21:07
반응형

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

끈이 있어요.

"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. ''또는' '또는','->는 지정된 문자열에서 제거해야 하는 값입니다.

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

"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

반응형