Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발자입니다

[Java] 문자열 자르기(substring) 본문

Java

[Java] 문자열 자르기(substring)

끈기JK 2022. 10. 3. 10:15

 SubString 

문자열 자르기 하면 가장 먼저 생각나는 함수입니다. 문자열 함수에 익숙해지시면 SubString함수와 다른 함수들을 섞어서 정말 다양하게 활용할 수 있는데요. 사용법에 대해 한번 알아보도록 하겠습니다. 활용 예제로는 마지막 3글자 자르기, 특정 문자 이후의 문자열 자르기, 특정(단어) 부분만 자르기를 준비했습니다.

 

우선 문자열을 자르기에 앞서 문자열이 어떻게 배치되어있는지 Index값부터 살펴야 문자열을 자를 수 있습니다.

String 클래스 자체가 char을 여러 개 붙여놓은 효과를 주기 때문에 String 클래스의 해당 Index값은 다음과 같습니다. String = char배열이라고 생각하셔도 무방합니다.

 

사용법

//사용법
String.substring(start) //문자열  start위치부터 끝까지 문자열 자르기
String.substring(start,end) //문자열  start위치 부터 end전까지 문자열 발췌
		

//예제
String str = "ABCDEFG"; //대상 문자열
/*A=0 B=1 C=2 D=3 E=4 F=5 G=6의 index를 가진다.*/
		
str.substring(3); 
/*substring(시작위치) 결과값 = DEFG*/

str.substring(3, 6); 
/*substring(시작위치,끝위치) 결과값 = DEF*/ 

 

활용 예제

//1. 마지막 3글자 자르기
String str = "ABCDEFG"; 
String result = str.substring(str.length()-3, str.length());
System.out.println(result)
 //결과값EFG



//2. 특정문자 이후의 문자열 제거
String str = "ABCD/DEFGH";
String result = str.substring(str.lastIndexOf("/")+1);
System.out.println(result); 
//결과값 DEFGH



//3. 특정단어(부분)만 자르기
String str = "바나나 : 1000원, 사과 : 2000원, 배 : 3000원";
String target = "사과";
int target_num = str.indexOf(target); 
String result = str.substring(target_num,(str.substring(target_num).indexOf("원")+target_num));
System.out.println(result+"원"); 
//결과값 :