JAVA

부분 문자제거(String 클래스)

닉넥임 2013. 7. 23. 22:52
반응형

- 프로그램을 짜다 종종 부분적으로 문자 및 문자열을 제거할 일(ex 토큰단위로 분리할때! ) 이 생기기도 하여 포스트를 하였다! 다른방법도 많겠지만 일단은 String클래스 내에서 할수 있는 간단한 방법을 써보았다!


- Java api문서에 설명잘되있으니 부족한부분은 가서 읽어보자 주소는 중간에 첨부되어있다!

 - java.lang에속하는 String클래스를 가지며 일단 메소드 종류로는 replace(), repleaceAll(), split() 이렇게 세가지를 이용하여 분할을 해보았다.

http://docs.oracle.com/javase/6/docs/api/ 에서 발췌해왔다.

- 영어로 쓰여있지만 간단하게 말해서 replace는 oldChar과 newChar를 바꿔준다.

- replaceAll는 replace()와 다른점은, 정규식/정규표현식(Regular Expressions; Regex) 을 사용할수 있다. 

- split는 지정된 Regex 기준으로 스트링을 분할하여 준다. 

 Stringreplace(char oldChar, char newChar) 
          Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.
 StringreplaceAll(String regex, String replacement) 
          Replaces each substring of this string that matches the given regular expression with the given replacement.
 String[]split(String regex) 
          Splits this string around matches of the given regular expression.


- 간단한 예제로 알아보자!

public class StringClass { 

    public static void main(String[] args) {
        String str = "나는*지금*배가고프다*아"; 
        String strArr[] = null; 
        //1. replace(char oldChar, char newChar) 
        System.out.println(str.replace("*", "-"));  
         
        //2. replaceAll(String regex, String replacement)   
        System.out.println(str.replaceAll("[*]", "-")); 
         
        //3. split(String, regex) 
        strArr = str.split("[*]"); 
        for (String st : strArr) { 
            System.out.println(st); 
        } 
    }// end of main 
}// end of class
결과값 : 
나는-지금-배가고프다-아
나는-지금-배가고프다-아
나는
지금
배가고프다

- 이렇게 출력되었다. replaceAll() split() 정규 표현식 사용 기에 *이라 쓰지못하고 [*]해야 인식을 한다 . 정규 표현식에 대해서는 다음에 좀더 정리하여 올리겠다.


반응형

'JAVA' 카테고리의 다른 글

JDBC, DBCP, ODBC 차이점  (0) 2013.07.22
DBCP(DatasBase Connection Pool)  (0) 2013.07.22
쓰레드(thread)  (0) 2013.07.22
입출력(I/O) PrintStream 사용시 출력형태  (0) 2013.07.22
입출력(I/O)[미완]  (0) 2013.07.22