min's devlog
String 조작 기능 본문
문자열
JDK에서 제공하는 문자열 조작 기능
JDK에서는 문자열 조작 기능을 여러가지 제공한다. 문자열은 캐릭터의 배열과 같다. (캐릭터를 rapping해놓은 것)
- String == char[]
또, 문자열을 조작하는 기능은 배열을 조작하는 기능과 비교해 봤을 때 매우 유사하다.
문자열 길이
문자열 길이란 ? 문자열을 구성하는 문자의 개수이자 글자수이다.
- int length() 를 이용해 문자열의 길이를 출력할 수 있다.
int[] nums = {10,20,30};
System.out.println(nums.length); //변수
String str = "고양이입니다.";
System.out.println(str.length()); //메소드
Char[] clist = {'고', '양', '이','입','니','다'};
System.out.println(clist.length);
System.out.println("강아지입니다." .length()); // 같은 7이라는 결과를 출력할 수 있다.
clist의 구조와 str의 구조는 같지만, String형으로 쓰는 것이 편하다. 원자 성격의 기본 구조가 아닌 기존 구조를 활용하다가 만들어지게 된, 향상된 버전의 자료형이다.
문자열 추출
char charAt(int index)
char c = txt.charAt(3);
System.out.println(c);
c = txt.charAt(7);
System.out.println(c);
c = txt.charAt(13);
System.out.println(c);
문자열 공백 제거
- String trim()
- 문자열에 존재하는 공백(Whitespace > 스페이스, 탭, 개행)을 제거하는 메소드
- 문자열의 시작과 끝에 존재하는 공백 문자를 제거한다.
문자열 검색
- 문자열 내에서 원하는 문자(열)을 검색 > 발견한 위치(index) 반환
- int indexOf(char c)
- int indexOf(String s)
- 처음 만난 검색어의 위치를 반환한 뒤 종료한다. (뒤에 반복되는 검색어는 검색하지 않는다)
- int indexOf(char c, int beginIndex)
- int indexOf(char c, String beginIndex)
String txt = "안녕하세요. 강아지입니다.";
int index = -1;
index = txt.indexOf('하');
System.out.println(index); //2를 반환
index = txt.indexOf('유');
System.out.println(index); //'유'를 찾지못해 index의 초기값인 -1을 반환
메소드 체인
코딩 패턴 중 하나. 함수형 프로그래밍.
문자열.메소드().메소드().메소드()
if(content.toUpperCase().indexOf(word.toUpperCase()) > -1) {
System.out.println("결과있음");
else
결과없음
대소문자 구분
- 정확도가 높고, 검색율이 낮다.
메모장에 대소문자 구분과 구분하지 않는 코드 둘다 쓰였음을 알 수 있다.
'til > Java' 카테고리의 다른 글
유효성 검사 (0) | 2022.03.23 |
---|---|
문자열(String) (0) | 2022.03.22 |
재귀 호출(recursive call) (0) | 2022.03.21 |
메소드 오버로딩 (0) | 2022.03.21 |
this와 this() (0) | 2022.03.21 |