๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Java

[Java] ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ split ( Limit ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ๋นˆ ๋ฌธ์ž์—ด ๋‹ด๊ธฐ )

by Jo__y 2023. 9. 12.

๊ทธ๋™์•ˆ split ์€ ๋‹จ์ˆœํžˆ ๊ตฌ๋ถ„์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ์ž๋ฅด๋Š” ์šฉ๋„๋กœ๋งŒ ์จ์˜ค๋‹ค๊ฐ€
์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ split ์˜ ๊ธฐ๋Šฅ์„ ์ œ๋Œ€๋กœ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋ฌธ์ œ

์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์˜ˆ๋ฅผ๋“ค์–ด
String str = "a-b--c-d--" ; ์ผ๊ฒฝ์šฐ์—
split ์„ ํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ๋นˆ ๋ฌธ์ž์—ด๋„ ๋ฐฐ์—ด์— ๋‹ด์•„์•ผ ํ•œ๋‹ค.

ํ•ด๊ฒฐ

split() ๋ฉ”์†Œ๋“œ๋Š” 2๊ฐ€์ง€ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค.

  1. public String[] split(String regex)
  2. public String[] split(String regex, int limit)

์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ž๋ฅด๋ฉด
[a, b, , c, d] ๋กœ ๋งˆ์ง€๋ง‰ ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฌด์‹œํ•œ๋‹ค.

๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ์–‘์ˆ˜,0,์Œ์ˆ˜ ์ผ๋•Œ ์„ธ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค.
limit > 0
limit - 1 ๋งŒํผ ํŒจํ„ด์ด ์ ์šฉ๋˜๊ณ , ๋‚˜๋จธ์ง€ ๋ชจ๋“  ๋ฌธ์ž์—ด์ด ๋งˆ์ง€๋ง‰ ์›์†Œ๊ฐ€ ๋œ๋‹ค.
limit = 0
ํŒจํ„ด์ด ๋ชจ๋“  ๋ฌธ์ž์—ด์— ์ ์šฉ๋˜์ง€๋งŒ, ๋งˆ์ง€๋ง‰์— ๋นˆ ๋ฌธ์ž์—ด์ด ์˜ฌ ๊ฒฝ์šฐ ๋ฐฐ์—ด์— ๋‹ด๊ธฐ์ง€ ์•Š๋Š”๋‹ค.
limit < 0
ํŒจํ„ด์ด ๋ชจ๋“  ๋ฌธ์ž์—ด์— ์ ์šฉ๋˜๊ณ , ๋งˆ์ง€๋ง‰์— ๋นˆ ๋ฌธ์ž์—ด์— ์˜ฌ ๊ฒฝ์šฐ์—๋„ ๊ทธ๋Œ€๋กœ ๋ฐฐ์—ด์— ๋‹ด๊ธด๋‹ค.

์ฝ”๋“œ

    @Test
    public void stringSplit() {
        String str = "a-b--c-d--";

        String[] arr1 = str.split("-");
        System.out.println("๊ธฐ๋ณธ split : " + Arrays.toString(arr1));

        String[] arr2 = str.split("-",3);
        System.out.println("limit ์ด ์–‘์ˆ˜์ผ๋•Œ : " +Arrays.toString(arr2));

        String[] arr3 = str.split("-",0);
        System.out.println("limit ์ด 0์ผ ๋•Œ : " +Arrays.toString(arr3));

        String[] arr4 = str.split("-",-1);
        System.out.println("limit ์ด ์Œ์ˆ˜์ผ๋•Œ : " +Arrays.toString(arr4));
    }

๊ฒฐ๊ณผ

๊ธฐ๋ณธ split : [a, b, , c, d]
limit ์ด ์–‘์ˆ˜์ผ๋•Œ : [a, b, -c-d--]
limit ์ด 0์ผ ๋•Œ : [a, b, , c, d]
limit ์ด ์Œ์ˆ˜์ผ๋•Œ : [a, b, , c, d, , ]

์–‘์ˆ˜ ์ผ๋•Œ๋Š” limit-1 ์ธ 2๋ฒˆ์งธ index ๊นŒ์ง€ a,b ๊นŒ์ง€ "-" ํŒจํ„ด์ด ์ ์šฉ๋˜์–ด ๋ฐฐ์—ด์— ๋‹ด๊ธฐ๊ณ 
๋‚˜๋จธ์ง€ -c-d-- ๊ฐ€ ๋งˆ์ง€๋ง‰ ์›์†Œ๋กœ ๋‹ด๊ธด๋‹ค.

0 ์ผ๋•Œ๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด์— "-" ํŒจํ„ด์ด ์ ์šฉ๋˜์ง€๋งŒ, ๋งˆ์ง€๋ง‰์— ๋นˆ ๋ฌธ์ž์—ด์ด ์‚ญ์ œ๋˜์–ด ๋ฐฐ์—ด์— ๋‹ด๊ธด๋‹ค.

์Œ์ˆ˜ ์ผ๋•Œ๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด์— "-" ํŒจํ„ด์ด ์ ์šฉ๋˜๊ณ , ๋งˆ์ง€๋ง‰ ๋นˆ ๋ฌธ์ž์—ด ๋ชจ๋‘ ๋ฐฐ์—ด์— ๋‹ด๊ธด๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€