본문 바로가기
Developer/Ruby

Ruby 문자열, 심볼 대문자 소문자 변환 방법 (첫글자만 대문자로 / 대문자를 소문자로 / 소문자를 대문자로 / 대문자는 소문자로, 소문자는 대문자로)

by 김씩씩 2022. 11. 17.

Ruby 문자열, 심볼 대문자 소문자 변환 방법 (첫글자만 대문자로 / 대문자를 소문자로 / 소문자를 대문자로 / 대문자는 소문자로, 소문자는 대문자로)

 

Ruby에서 문자열과 심볼을 다룰 때 대문자 소문자 변환 방법에 대해 알려드리도록 하겠습니다.

변환하는 방법은,

  • 첫글자만 대문자로 변환하는 방법 - String.capitalize
  • 소문자를 대문자로 변환하는 방법 - String.upcase
  • 대문자를 수문자로 변환하는 방법 - String.downcase
  • 소문자는 대문자로, 대문자는 소문자로 변환하는 방법 - String.swapcase
  • 심볼에서 사용 - Symbol.capitalize, Symbol.upcase, Symbol.downcase, Symbol.swapcase

위 순서대로 알려드리도록 하겠습니다.

 

첫글자만 대문자로 변환하는 방법 - String.capitalize

str1 = "helloWorld"
str1 = str1.capitalize
p str1 # "Helloworld"

str2 = "helloWorld"
str2.capitalize!
p str2 # "Helloworld"

String.capitalize 메소드를 사용하여 문자열의 첫글자만 대문자로 변환할 수 있습니다.

결과를 보시면 아시겠지만 첫글자만 대문자로 존재할 수 있도록 첫글자가 아닌 문자 중 대문자인 문자를 소문자로 변환하는 것도 같이 진행됩니다.

이 결과는 띄워쓰기가 있어도 같습니다. (e.g. "hello World" -> "Hello world")

 

소문자를 대문자로 변환하는 방법 - String.upcase

str1 = "helloWorld"
str1 = str1.upcase
p str1 # "HELLOWORLD"

str2 = "helloWorld"
str2.upcase!
p str2 # "HELLOWORLD"

String.upcase 메소드를 사용하여 문자열의 소문자를 대문자로 변환할 수 있습니다.

 

소문자를 대문자로 변환하는 방법 - String.downcase

str1 = "helloWorld"
str1 = str1.downcase
p str1 # "helloworld"

str2 = "helloWorld"
str2.downcase!
p str2 # "helloworld"

String.downcase 메소드를 사용하여 문자열의 대문자를 소문자로 변환할 수 있습니다.

 

대문자는 소문자로, 소문자는 대문자로 변환하는 방법 - String.swapcase

str1 = "helloWorld"
str1 = str1.swapcase
p str1 # "HELLOwORLD"

str2 = "helloWorld"
str2.swapcase!
p str2 # "HELLOwORLD"

String.swapcase 메소드를 사용하여 문자열의 소문자는 대문자로, 대문자는 소문자로 변환할 수 있습니다.

즉, 대문자와 소문자가 서로 반대로 되는 것입니다!

 

심볼에서 사용 - Symbol.capitalize, Symbol.upcaseSymbol.downcaseSymbol.swapcase

str = :helloWorld

str1 = str.capitalize
p str1 # :Helloworld

str2 = str.upcase
p str2 # :HELLOWORLD

str3 = str.downcase
p str3 # :helloworld

str4 = str.swapcase
p str4 # :HELLOwORLD

심볼에서도 문자열와 같이 Symbol.capitalize,Symbol.upcase,Symbol.downcase,Symbol.swapcase 를 사용할 수 있습니다.

그럼에도 심볼에서의 사용을 따로 설명드리는 이유는 Symbol에서는 String과 달리 느낌표(!)를 붙여 사용하는 것으로 자기 자신을 변경하는 메소드를 사용할 수 없기 때문입니다.

위와 같이 원래의 값에서 변경된 값을 반환하는 메소드는 가능하지만, Symbol의 경우 불변 객체이기 때문에 느낌표(!)를 붙여 사용하는 것으로 자기 자신의 값을 변경하는 메소드를 사용할 수 없습니다.

위와 같이 사용을 해보면 아예 없는 메소드라고 NoMethodError 가 나오는 것을 확인하실 수 있습니다.

 

이상으로 Ruby에서 문자열 대문자, 소문자 변환 방법에 대한 설명을 마치도록 하겠습니다.

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!

궁금하신 점이나 요청사항은 언제든지 말씀해주세요!

피드백도 언제나 환영입니다!

 

감사합니다.


댓글