본문 바로가기
Java

[Java] String 메서드 / charAt() / substring() / indexOf() / startWith() / endsWith() / replaceAll() / concat() / trim() / split() / join()

by bkuk 2022. 10. 3.

charAt()

문자열의 지정된 인덱스에 있는 문자를 반환

 

예제 1 - 인덱스를 통한 문자 반환

String str1 = "Hello String Hello String";

char ch1 = str1.charAt(0);
System.out.println( ch1 );
// 'H'가 출력됨.

 

예제 2 - 마지막 문자 출력(length() 활용)

String str1 = "Hello String Hello String";
char ch2 = str1.charAt(str1.length()-1);
System.out.println( ch2 );
// 'g'가 출력됨.

 

substring ()

지정한 인덱스부터 인덱스 끝까지의 문자를 반환 하거나 인덱스 번호의 구간까지의 문자 반환

 

예제 1 -지정한 인덱스부터 끝까지의 문자를 반환

String pstr1 = str1.substring( 2 );
System.out.println( pstr1 );
// 'llo String Hello String'가 출력됨.

 

예제 2 - 구간까지의 문자 반환

String pstr2 = str1.substring( 0, 2);
System.out.println( pstr2 );
// 'He'가 출력됨

 

indexOf()

문자 또는 문자열을 입력 시 문자열 위치를 반환

 

예제 1

String str1 = "Hello String Hello String";
int pos1 = str1.indexOf("l");
System.out.println( pos1 );
// '2'가 출력됨.

 

 

startWith() / endsWith()

startsWith()는 어떤 String이 특정 문자열로 시작하는지, boolean 타입으로 리턴

반대로 endsWith()는 특정 문자열로 끝나는지 boolean 타입으로 리턴(대소문자 확인할 것)

 

예제 1 - startWith()

System.out.println( str1.startsWith("He"));		//true
System.out.println( str1.startsWith("lo"));		//false
System.out.println( str1.startsWith("str"));	//false
System.out.println( str1.startsWith("ring"));	//true

 

예제 2 - endsWith()

System.out.println( str1.endsWith("He"));		//false	
System.out.println( str1.endsWith("lo"));		//false
System.out.println( str1.endsWith("str"));		//false
System.out.println( str1.endsWith("ring"));		//true
System.out.println( str1.endsWith("ng"));		//true

 

replaceAll()

문자열을 지정된 문자열로 치환합니다.

예제 1

String str1 = "Hello String Hello String";
String rstr = str1.replaceAll("Hello", "안녕");
System.out.println( rstr );
// '안녕 String 안녕 String'이 출력됨.

 

concat()

문자열 결합은 +로 가능하나, concat() 메서드를 통해 지정된 문자열을 결합할 수 있습니다.

예제 1

String str1 = "Hello String Hello String";
String jstr = str1.concat(" 안녕");
System.out.println( jstr );

 

toUpperCase() / toLowerCase()

대문자 또는 소문자로 변환 후 반환합니다.

예제 1 - toUpperCase() 

System.out.println( "hello".toUpperCase());
// 'HELLO'가 출력됨.

예제 2 - toLowerCase()

System.out.println( "HELLO".toLowerCase());
// 'hello'가 출력됨.

 

trim()

문자열 앞과 뒤에 존재하는 공백을 제거합니다. 내부 공백은 남아 있습니다.

예제 1

String str1 = "       Hello   String    ";
String str2 = str1.trim();
System.out.println( str2);
//'Hello   String'가 출력됨.

 

split()

지정된 문자열을 기준으로 문자열을 나누어 배열에 저장 후 반환합니다.

예제 1

String str3 = "apple,banana,pineapple,kiwi";
String[] strArr = str3.split( "," );

System.out.println( strArr[0]);	// 'apple'이 출력됨.
System.out.println( strArr[1]);	// 'banana'가 출력됨.
System.out.println( strArr[2]);	// 'pineapple'이 출력됨.
System.out.println( strArr[3]);	// 'kiwi'가 출력됨.

 

예제 2 - 여러 구분자로 문자열 분해

String str4 = "!apple@banana#pineapple$kiwi";
String[] strArr2 = str4.split( "!|@|#|\\$" );

System.out.println( strArr2.length);	//'5'가 출력됨.
System.out.println( strArr2[0]);	// ''이 출력됨.
System.out.println( strArr2[1]);	// 'apple'가 출력됨.
System.out.println( strArr2[2]);	// 'banana'이 출력됨.
System.out.println( strArr2[3]);	// 'pineapple'가 출력됨.
System.out.println( strArr2[4]);	// 'kiwi'가 출력됨.

 

\\가 필요한 특수문자

\\를 사용해야 하는 대표적인 특수문자 목록입니다. 참고하세요.

 

 

join()

배열을 문자열로 변환

예제 1

String str3 = "apple,banana,pineapple,kiwi";
String[] strArr = str3.split( "," );

String jstr = String.join(",", strArr);
System.out.println( jstr );
//'apple,banana,pineapple,kiwi'가 출력됨.

댓글