java

[파이썬에서 자바로 바꾸기] 문자열 관련 함수

22gamin 2024. 9. 13. 12:40

 

toUpperCase()

  • 대상 문자열을 모두 대문자로 변환
  • str.toUpperCase();

 

 

toLowerCase()

  • 대상 문자열을 모두 소문자로 변환
  • str.toLowerCase();

 

단일 문자의 경우

char t = 'a';
t = Character.toUppperCase(t);

 

 

 

 

trim()

  • 대상 문자열의 앞/ 뒤 공백문자를 모두 제거함
  • 문자열 중간에 있는 공백은 제거하지 않음
  • str.trim()

 

 

indexOf()

  • 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환, 찾지 못했을 경우 -1 반환
  • indexOf(str)
  • indexOf(str,num)
    • indexOf("찾을 특정 문자","시작할 위치")
    • 이 경우 시작할 위치 이후로 특정 문자를 찾아 인덱스를 반환함
  • 공백 역시 하나로 침

 

 

 

lastIndexOf()

  • 특정 문자나 문자열이 뒤에서부터 처음 발견되는 인덱스르 반환하며 찾지 못했을 경우 -1 반환
  • 사용법은 indexOf()와 동일
  • 뒤에서부터 찾기 시작하지만 indexOf와 같이 0부터 몇번째에 위치하는지를 인덱스를 반환
  • lastIndexOf(str,num)
    • lastIndexOf("찾을 특정 문자","여기까지만 비교")
    • 주어진 인덱스까지 문자열에서 특정문자를 찾음

 

 

 

substring()

  • str.substring(num);
    • num 인덱스부터 끝까지 문자열을 리턴함
  • str.substring(num1,num2);
    • num1부터 num2까지의 문자열을 잘라서 리턴함.

 

 

 

 

equals()

  • 두 개의 문자열이 동일한 값을 가지고 있는지를 비교하여 결과값을 리턴함
  • a.equals(b)    → true, false 리턴
  • a == b 와 다름. a == b는 문자열 변수의 주소값을 비교하는 것
    • 기본적으로 JAVA는 로컬함수(같은 제어블록) 내에서 같은 문자열이 나오면 공유 상수 pool에서 관리하기 때문에 새로 메모리를 잡지 않고 원래있던 주소로 배정함!

 

 

 

concat()

  • 문자열과 문자열을 이어주고자 할 때 사용
  • JAVA는 문자열 + 문자열 이렇게 해주면 concat과 같은 기능을 하기 때문에 잘 사용하지 않는다.
  • str.concat(str2);

 

 

 

startsWith()

  • 문자열이 지정한 문자로 시작하는지 판단 후 있으면 true 반환, 없으면 false를 반환
  • 대소문자를 구별한다!!!!
  • str.startsWith("a");

 

 

 

endsWith()

  • 문자열 마지막에 지정한 문자가 있는지를 판단 후 있으면 true, 없으면 false 반환
  • 대소문자를 구별한다!!!!
  • str.endsWith("a");

 

 

 

replace()

  • 특정 문자를 원하는 문자로 변경하고 싶을 경우에 사용
  • str.replace("문자열", "새로 바꿀 문자열");
  • 정규 표현식을 사용하지 않음

 

 

 

replaceAll()

  • 정규 표현식을 사용해 문자열 중 특정 문자를 다른 문자로 사용하고 싶을 때 사용
  • 다소 복잡한 패턴을 바꿀 때 사용
    • str.replaceAll("정규표현식", "새로 바꿀 문자열");

 

replace와 replaceAll

String str = "aaabbbccccabcddddabcdeeee";

String result1 = str.replace("abc","히");
String result2 = str.replaceAll("[abc]","히");

System.out.println(result1);
System.out.println(result2);

>> aaabbbcccc히dddd히deeee
>> 히히히히히히히히히히히히히dddd히deeee

 

 

 

split()

  • 지정한 문자로 문자열을 나눌 수 있다.
  • 나눠진 부분들의 결과값은 배열로 반환
  • str.split("#");

 

 

 

compareTo()

  • 두 개의 String을 앞에서부터 순차적으로 비교하다가 틀린 부분이 있으면 비교하는 String에 문자값을 반환.
  • 대소문자 구별
  • ASCII 코드의 값을 기준으로 비교하고 같으면 0 반환!
  • 다르다면 기준이 되는 것으로부터 아스키코드의 범위 값을 리턴
    • a.compareTo("b");
    • a와 b를 비교할 때 a - 97, b-98이므로 -1리턴 

 

 

 

 

contains()

  • 두 개의 String을 비교해서 비교 대상 String을 포함하고 있으면 true, 다르면 false를 반환
  • str.contains(str2);

 

 

 

 

charAt()

  • 지정한 index번째의 문자를 반환
  • str.charAt(2);     → 2번째 위치의 문자 반환