Java programming

Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ : String ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ - substring

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2023. 12. 11.

 

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ž์—ด ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ํ‹€๋ฆฐ ์ ์ด ์žˆ์–ด ์ •ํ™•ํžˆ ๊ธฐ์–ตํ•˜๊ณ ์ž ๊ธ€์„ ์ž‘์„ฑํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

ํ‹€๋ฆฐ ์ ์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋‹ค.

 

1. ๋ฉ”์†Œ๋“œ๋ช…์ด subString()์ด ์•„๋‹ˆ๋ผ substring()์ด๋‹ค. ํ•ฉ์„ฑ์–ด๊ฐ€ ์•„๋‹Œ ํ•˜๋‚˜์˜ ๋‹จ์–ด์ด๋‹ค.

2. substring(int startIndex, int endIndex) ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋„ฃ์–ด์ค„ ๋•Œ,  endIndex ์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋Š”์ง€ ์•ˆ ํฌํ•จํ•˜๋Š”์ง€

 

Java์—์„œ java.lang.String ํด๋ž˜์Šค์˜ ๋ฌธ์ž์—ด์„ ์ž๋ฅด๋Š” ๋ฐฉ๋ฒ•์—” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. split() ๋ฉ”์†Œ๋“œ๋„ ์žˆ๊ณ , substring() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์ž๋ฅผ ์ˆ˜๋„ ์žˆ๋‹ค.

 


split()

split() ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ€๋กœ ์•ˆ์— ์ •๊ทœ์‹์„ ์ ์–ด์ฃผ๋ฉด ์ •๊ทœ์‹์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์ค€๋‹ค. ๋ฌธ์ž์—ด์„ ์ž˜๋ผ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ๋ฆฌํ„ดํ•œ๋‹ค.

String str = "2023-12-11";
String date[] = str.split("-");

 

 ๋ฐฐ์—ด date ์—๋Š” "-" ๊ธฐ์ค€์œผ๋กœ ์ž˜๋ฆฐ ๊ฐ’์ด ๋“ค์–ด์žˆ๋‹ค. ["2023" , "12" , "11"]  

 


 

substring()

substring() ์€ 2๊ฐ€์ง€ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ๊ฐ–๋Š”๋‹ค.

1. public String substring(int startIndex)

2. public String substring(int startIndex, int endIndex)

 

1. public String substring(int startIndex)

 

์‹œ์ž‘ ์ธ๋ฑ์Šค ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค ๋ฌธ์ž๊นŒ์ง€ substring ์„ ๋งŒ๋“ ๋‹ค.

์ฃผ์˜ํ•  ์ ์€ ์‹œ์ž‘ ์ธ๋ฑ์Šค์˜ ๋ฌธ์ž๋ฅผ ํฌํ•จํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

public class SubstringExample {    
	public static void main(String[] args) {         
    	String str = "Hello";         
        System.out.println(str.substring(2)); // "llo"        
        System.out.println(str.substring(5)); // ""        
        System.out.println(str.substring(-1)); // StringIndexOutOfBoundsException        
        System.out.println(str.substring(6)); // StringIndexOutOfBoundsException     
    }
}

 

๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค ๊ฐ’ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ์ˆ˜๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด StringIndexOutOfBoundsException ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒ๋œ๋‹ค.

๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰ index + 1 ๊ฐ’์„ startIndex๋กœ ์ง€์ •ํ•˜๋ฉด, ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ str.substring(5)๋Š” "์ธ๋ฑ์Šค 5๋ถ€ํ„ฐ ๋ฌธ์ž์—ด ๋๊นŒ์ง€"๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋ฌธ์ž์—ด "Hello"์—์„œ ์ธ๋ฑ์Šค 5๋Š” ๋ฌธ์ž์—ด์˜ ๋์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฐ๊ณผ๋Š” ๋นˆ ๋ฌธ์ž์—ด์ด๋‹ค.

 

2. public String substring(int startIndex, int endIndex)

 

startIndex(ํฌํ•จ)๋ถ€ํ„ฐ endIndex(๋ถˆํฌํ•จ)๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค.

์ฃผ์˜ํ•  ์ ์€ ๋์ธ๋ฑ์Šค์˜ ๋ฌธ์ž๋Š” ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค.

 

public class SubstringExample {    
	public static void main(String[] args) {         
    	String str = "Hello";         
        System.out.println(str.substring(2, 4)); // "ll"
        System.out.println(str.substring(2, str.length())); // "llo"     
    }
}

 

 

str.substring(2, 4);

startIndex 2๋ถ€ํ„ฐ endIndex 4 ์ด์ „๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

 

 

str.substring(2, str.length());

์œ„ ์ฝ”๋“œ๋Š” str.substring(2)์™€ ๊ฐ™๋‹ค.

startIndex 2๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž์—ด๊นŒ์ง€๋ฅผ ์ž˜๋ผ์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

 

 

์ฐธ๊ณ 
https://hianna.tistory.com/534

๋Œ“๊ธ€