문자열에 "코드화 된"메시지가 주어지고 디코드 된 메시지를 반환해야하는 문제에 대해 작업하고 있습니다. 이것은 배열로 혼합 된 문자와 숫자의 문자열을 나눠야합니다. 그래서 예를 들면, 나는이 같은 문자열 가지고있는 경우 :Ruby - 혼합 문자열을 배열로 변환하기
"0h"
을이 같은 배열로 분할 할 :
[0, "h"]
하지만 .split
를 사용할 때 나는
["0", "h"]
를 얻을 수
내가 찾은 해결책은 모든 숫자이지만 혼합 문자열이 아닌 문자열 만 고려합니다. 문자를 유지하면서 숫자를 숫자로 변환하는 방법이 있습니까?
개별 문자가 필요한 경우 첫 번째 부분 인'chars'도 작동합니다. – tadman
@tadman, 좋은 제안, 그 질문에 대한 명확하지 않습니다. 나는 편집을했다. –
캡처 그룹을 사용하여'\ d +'를 두 번 매칭하지 않아도됩니다 :'str.scan (/ (\ D +) | (\ d +) /). s || (\ d +'와'\ d +'의 순서를 바꾼 것에주의하십시오) – Stefan