2023.01.25

fianchetto3068·2023년 1월 25일
0

TIL(Today I learned)

목록 보기
5/6

문자열 대/소문자 변환

문자열의 대소문자를 변환하는 방법에 대해 공부해보았다. 여기서는 두가지 방법에 대해 기술한다.

  1. 문자열을 배열에 저장하여 계산하는 방법
  2. 문자열에서 문자를 하나씩 빼서 계산하는 방법

위 두가지 방법은 사실상 원리는 동일하며 차이는 배열의 사용여부이다.

public static String solution(String my_string) {
    String answer = "";
    char[] arr = new char[my_string.length()];

    for (int i = 0; i < my_string.length(); i++) {
      arr[i] = my_string.charAt(i);
    }

    for (int i = 0; i < arr.length; i++) {
      if (arr[i] >= 'A' && arr[i] < 'Z') {
        String tmp = arr[i] + "";
        answer += tmp.toLowerCase();
      }
      if (arr[i] >= 'a' && arr[i] < 'z') {
        String tmp = arr[i] + "";
        answer += tmp.toUpperCase();
      }
    }

    return answer;
  }

toLowerCase()
toUpperCase()
는 String 메서드이기 때문에 문자열에서 사용해주어야 한다.

String answer = "";

        for(int i=0; i<my_string.length(); i++){
            char c = my_string.charAt(i);
            if(c>='a'&&c<='z') c-=32;
            else if(c>='A'&&c<='Z') c+=32;
            answer+=c;
        }

        return answer;

위는 charAt()를 이용하였고, 32를 더하고 빼서 대문자/소문자를 전환해주었음.


자주쓰는 String메서드

  1. substring
    String substring(int begin)
    String substring(int begin, int end)
    한 문자열에서 내용의 일부를 추출하는 메서드
    주어진 시작위치(begin)부터 끝 위치(end) 범위에 포함된 문자열을 얻는다.
  2. split
    sting[] split(String regex)
    문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환
  3. contains
    boolean contains(charSequence s)
    지정된 문자열(s)가 포함되어 있는지 검사한다.
  4. endsWith
    boolean endsWith(String suffix)
    지정된 문자열(suffix)로 끝나는지 검사한다.
  5. equals
    boolean equals(Object obj)
    매개변수로 받은 문자열(obj)와 String인스턴스의 문자열을 비교한다.
    대소문자를 구분 없이 비교하려면 equalsIsIgnorCase를 사용함
  6. replace
    String replace(CharSequence old, charSequence nw)
    문자열중의 old문자열을 nw로 바꾼 문자열을 반환한다.
  7. toString
    String toString()
    String인스턴스에 저장되어 있는 문자열을 반환한다.
  8. trim
    String trim()
    문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다.
  9. valueOf
    지정된 값을 문자열로 반환하여 반환한다.
    ex) Stirng d = String.valueOf(10f)

0개의 댓글