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번째 위치의 문자 반환