Java 분할 문자열 상세 정보 및 인스턴스 코드

2790 단어 Java분할 문자열
Java 분할 문자열
java.lang.String의 split () 메서드, JDK 1.4 or later
public String[] split(String regex,int limit)
예제 코드

public class StringSplit {
  public static void main(String[] args) {
    String sourceStr = "1,2,3,4,5";
    String[] sourceStrArray = sourceStr.split(",");
    for (int i = 0; i < sourceStrArray.length; i++) {
      System.out.println(sourceStrArray[i]);
    }

    //  3 
    int maxSplit = 3;
    sourceStrArray = sourceStr.split(",", maxSplit);
    for (int i = 0; i < sourceStrArray.length; i++) {
      System.out.println(sourceStrArray[i]);
    }
  }
}

출력 결과:

1
2
3
4
5
1
2
3,4,5
split의 직접 호출된 matcher 클래스의 split를 실현하는 방법입니다.String을 사용하고 있습니다.split 방법으로 문자열을 구분할 때, 구분자가 특수한 문자를 사용하면 우리가 예상한 결과를 얻지 못할 수도 있습니다.정규 표현식에 특수한 의미가 있는 문자는 우리가 사용할 때 반드시 전의를 해야 한다. 예:

public class StringSplit {
  public static void main(String[] args) {
    String value = "192.168.128.33";
    //  \\, ,yeah
    String[] names = value.split("\\.");
    for (int i = 0; i < names.length; i++) {
      System.out.println(names[i]);
    }
  }
}
split 구분자 요약
1. "|", "*", "+"문자는 모두 이스케이프 문자를 붙여야 하고, 앞에는 "\"를 붙여야 한다.
2.'\'이면'\\\\'으로 써야 한다.
3. 문자열에 여러 개의 구분자가 있는 경우 "|"를 하이픈으로 사용할 수 있습니다.
예를 들어 Stringstr = "Javastring-split#test"는 모든 문자열을 Str.split ("|-|#") 로 구분할 수 있습니다.이렇게 해서 문자열을 세 개의 하위 문자열로 나누었다. 
 java.util.Tokenizer JDK 1.0 or later
StringTokenizer
StringTokenizer 클래스는 프로그램이 문자열을 태그로 분해할 수 있도록 합니다.StringTokenizer는 호환성 때문에 보류된 유류 (새 코드에서는 사용하지 않지만) 입니다.이 기능을 원하는 모든 사용자는 String의 split 메서드나 Java를 사용하는 것이 좋습니다.util.regex 패키지.
코드 예제

public class StringSplit {
  public static void main(String[] args) {
    String ip = "192.168.128.33";
    StringTokenizer token=new StringTokenizer(ip,"."); 
    while(token.hasMoreElements()){ 
     System.out.print(token.nextToken()+" "); 
    } 

  }
}

그러나 StringTokenizer는 문자열 "192.168..33"의 분할에 대해 되돌아오는 문자열 수조는 3개의 요소만 있고 두 구분자 사이의 빈 문자열은 무시합니다. 이것은 신중하게 사용해야 합니다.
하지만 String.split(String.split은 정규 표현식으로 일치하기 때문에 KMP 문자열 일치 알고리즘을 사용하지 않습니다)는 순서대로 훑어보는 알고리즘입니다. 시간 복잡도 O(m*n)가 비교적 높기 때문에 성능상 StringTokenizer가 매우 좋습니다. 문자열 분할을 자주 사용하는 응용, 예를 들어 etl 데이터 처리에 있어 StringTokenizer의 성능을 많이 향상시킬 수 있습니다.
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기