2010-12-15 7 views
0

문자열을 입력하면 "rxrx"가 표시됩니다. 문자열을 "rXrX"로 변환하면 어떻게 할 수 있습니까? 모두 바꾸기 루비의 대문자 'X'에 문자열의 소문자 'x'가 있습니까? 미리 감사드립니다문자열의 주어진 문자를 루비의 소문자에서 대문자로 변환하는 방법

+1

음 ... 정규식을 사용해 보셨습니까? –

+1

정규식이 필요 없습니다. 이것은 정확하게 'tr'이 무엇을위한 것인가입니다. –

답변

4

한 가지 방법 :

"rxrx".gsub(/(x)/) { |s| s.upcase } 

나는 그것이 잘 작동 것 때문에 대문자를 만들고 싶어 하나 개 이상의 문자가 있다면 대신 정상 대체 (gsub("x", "X"))이이 제안하는 유일한 이유 :

"rxbrx".gsub(/([xb])/) { |s| s.upcase } 
+2

#tr; "rxbrx".tr ('xb', 'XB') – steenslag

6

String 클래스의 "tr"메소드가 도움이 될 것입니다.

irb> "rxxr".tr('x', 'X') 
irb> "rXXr" 
관련 문제