◽ Java language/Java

[Java - (12) ] indexOf( ), substring( ) → 특정한 문자열 기준으로 자르기, split( ) → 자른 문자열 배열에 넣기

kkk20000a 2019. 8. 25. 21:37
 indexOf( ), substring( )
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
31
32
33
public class StringTest 
{
    public static void main(String args[])
    {
        
        // @를 기준으로 문자열을 추출할 것이다.
        String mail = "abced@naver.com";
        
        // 먼저 @ 의 인덱스를 찾는다 - 인덱스 값: 5
        int idx = mail.indexOf("@"); 
        
        // @ 앞부분을 추출
        // substring은 첫번째 지정한 인덱스는 포함하지 않는다.
        // 아래의 경우는 첫번째 문자열인 a 부터 추출된다.
        String mail1 = mail.substring(0, idx);
        
        // 뒷부분을 추출
        // 아래 substring은 @ 바로 뒷부분인 n부터 추출된다.
        String mail2 = mail.substring(idx+1);
      
        System.out.println("mail1 : "+mail1);
        System.out.println("mail2 : "+mail2);
    }
}
 
 
/*****실행결과*****
*
* mail1 : abced
* mail2 : naver.com
*
*
*/
Color Scripter

 

split( )
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
package test;
 
public class StringTest 
{
    public static void main(String args[])
    {
        // 특정 문자가 반복될 경우 : '-' 가 반복된다.
        String birthday = "2016-11-15";
        
        // split()을 이용해 '-'를 기준으로 문자열을 자른다.
        // split()은 지정한 문자를 기준으로 문자열을 잘라 배열로 반환한다.
        String date[] = birthday.split("-");
        
        for(int i=0 ; i<date.length ; i++)
        {
            System.out.println("date["+i+"] : "+date[i]);
        }
    }
}
 
 
 
/********** 실행결과 *********
*         date[0] : 2016
*        date[1] : 11
*        date[2] : 15
*/
Color Scripter

 

 

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
//a;b;c;d;e;f; 이런 형태의 데이터를 구분자를 제거하여 리스트에 담는 과정.
 
        for(int i=0; i<delMyAccount.length;i++){
                int index = delMyAccount[i].indexOf(";");
                String tmp1 = delMyAccount[i].substring(0, index);
                
                String moveIpAcco2 = delMyAccount[i].substring(index+1);
                index = moveIpAcco2.indexOf(";"); 
                String tmp2 = moveIpAcco2.substring(0, index);
                
                String moveIpAcco3 = moveIpAcco2.substring(index+1);
                index = moveIpAcco3.indexOf(";"); 
                String tmp3 = moveIpAcco3.substring(0, index);
                
                String moveIpAcco4 = moveIpAcco3.substring(index+1);
                index = moveIpAcco4.indexOf(";"); 
                String tmp4 = moveIpAcco4.substring(0, index);
                
                String moveIpAcco5 = moveIpAcco4.substring(index+1);
                index = moveIpAcco5.indexOf(";"); 
                String tmp5 = moveIpAcco5.substring(0, index);
                
                String tmp6 = moveIpAcco5.substring(index+1); // 마지막
                      
                        
            }
 

>>> 이걸 한줄로 요약하면 StringUtil.splits(tmp.getService(), ";") 로도 짤 수 있다. 
아예 StringUtil로 자바에서 제공한다. 뒤늦게 알아서 아쉽지만 찾긴 찾았다.

 

 

이런식으로도 이용 할 수 있다.