반응형
- 프로그램을 짜다 종종 부분적으로 문자 및 문자열을 제거할 일(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 기준으로 스트링을 분할하여 준다.
String | replace(char oldChar, char newChar) Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar . |
String | replaceAll(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 |