[문자 추출]
.charAt(int index)
[문자의 위치 추출]
.indexOf(String str)
[문자열 자르기]
.substring(int index1, int index2)
[문자열 → 문자 배열]
.toCharArray()
[문자열로 변환]
String.valueOf(값)
[문자열 → 문자열 배열]
split()
1. charAt(int index)
string.charAt(int index)
- String 값에서 인덱스 위치에 자리한 문자 반환
- (인덱스는 0부터 시작)
1
2
| String str = "HelloWorld";
str = str.charAt(0) // 인덱스 0번째 문자를 반환 → H
|
(+)
Scanner를 이용해 char 자료형 입력을 받을 때,
Scanner.sc = new Scanner(System.in);
char input = sc.next().charAt(0); 이렇게 표현
→ 문자열.charAt(0) : 문자열 중 0번째 인덱스 문자 하나를 얻어옴.
2. indexOf(String str)
string.indexOf(String str)
- String 값에서 주어진 문자열(str)의 인덱스 위치 반환
- 주어진 문자열(str)의 첫 번째 문자가 기준.
- 없으면 -1을 반환
- (인덱스는 0부터 시작)
str | H | e | l | l | o | | W | o | r | l | d |
---|
index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1
2
3
| String str = "Hello World";
System.out.println(str.indexOf("World")); // 6 반환
System.out.println(str.indexOf("a")); // -1 반환 (없는 문자)
|
3. substring(int index1, int index2)
string.substring(int index1, int index2)
- String 값에서 인덱스 값으로 문자 자르기
- 위치가 index1 부터 index2 전까지의 문자열을 잘라낸다.
str | H | e | l | l | o | | W | o | r | l | d |
---|
index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1
2
3
| String str = "Hello World";
System.out.println(str.substring(2, 7)); // llo W 반환
// 인덱스 7인 o의 "전까지" 잘라낸다.
|
- index를 하나만 쓴다면, index 자릿수부터 문자열의 끝까지 잘라냄.
1
2
| String str = "Hello World";
System.out.println(str.substring(6)); // World
|
4. toCharArray()
string.toCharArray()
- 문자열(String)을 분리하여 문자(char) 배열 생성
1
2
3
4
| String str = "Hello World";
char[] c = str.toCharArray();
System.out.println(Arrays.toString(c));
// [H, e, l, l, o, , W, o, r, l, d]
|
5. String.valueOf()
String.valueOf()
- 기본 타입값을 문자열로 반환
- String.valueOf(int i) : int형의 값을 문자열로 반환
- String.valueOf(double d) : double형의 값을 문자열로 반환
- String.valueOf(char[] c) : toCharArray()로 분리한 문자 배열을 다시 String으로.
1
2
3
| String str = "Hello World";
char[] c = str.toCharArray(); // [H, e, l, l, o, , W, o, r, l, d]
System.out.println(String.valueOf(c)); // Hello World
|
[+]
spilt()
string.split(String regex)
- 구분자를 기준으로, 문자열을 배열 형식으로 자르는 함수
1
2
3
| String str = "Hello World";
String[] arr = str.split(" "); // 공백을 기준으로 자르기
System.out.println(Arrays.toString(arr)); // [Hello, World]
|
““을 이용하면 문자열 하나를 문자 단위의 String[]을 만들 수 있다.
1
2
3
| String str = "Hello";
String[] arr = str.split("");
System.out.println(Arrays.toString(arr)); // [H, e, l, l, o]
|
- 배열로 저장되었기 때문에 배열 인덱스를 이용하여 각각의 값을 가져올 수 있다.
1
2
3
| String str = "Hello-World";
String arr1 = str.split("-")[1]; // '-'를 기준으로 자른 배열의 인덱스 1의 값
System.out.println(arr1); // World
|
string.split(String regex, int limit)
- 구분자를 기준으로, limit만큼의 배열을 반환
1
2
3
4
5
6
7
| String str = "Hello World Bye"; // Hello 앞에 공백 추가
String[] arr2 = str.split(" ", 2); // 공백을 기준으로 2개의 배열을 반환
System.out.println(Arrays.toString(arr2)); // [Hello, World Bye]
String[] arr3 = str.split(" ", 3); // 공백을 기준으로 3개의 배열을 반환
System.out.println(Arrays.toString(arr3)); // [Hello, World, Bye]
|