머리말
나는 모든 사람이 Java 프로그래밍에서 특정 문자, 문자 등에 따라 문자열을 나누어야한다는 것을 알고 있어야한다고 생각합니다.이 문자열의 일부를 사용하거나 차단 된 모든 컨텐츠를 배열에 저장할 수 있습니다. 다음 기사는 두 가지 세분화 방법을 공유합니다. 함께 살펴 보겠습니다.
1. Java.lang.string의 Split () 메소드, JDK 1.4 이상
public String[] split(String regex,int limit)
샘플 코드
public class stringsplit {public static void main (String [] args) {String sourcest = "1,2,3,4,5"; 문자열 [] 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]); }}} 출력 결과 :
12345123,4,5
분할 구현은 직접 매칭 클래스의 분할 방법을 호출합니다. String.split 메소드를 사용하여 문자열을 구분하는 경우, 구분 기자가 특수 문자를 사용하는 경우 예상 한 결과를 얻지 못할 수 있습니다.
정기적 인 표현에서 특별한 의미를 가진 캐릭터는 우리가 사용할 때 탈출해야합니다. 예:
public class stringsplit {public static void main (String [] args) {String value = "192.168.128.33"; // 당신은 //를 추가해야한다는 점에 유의하십시오. for (int i = 0; i <names.length; i ++) {system.out.println (names [i]); }}}분할 분리기 요약
1. 캐릭터 "|", "*", "+"는 탈출 된 문자와 함께 추가되어야하며 "//"는 그들 앞에 추가됩니다.
2. "/"라면 "///"로 작성해야합니다.
3. 문자열에 여러 구분 장치가있는 경우 "|"를 사용할 수 있습니다. 하이픈으로.
예를 들어 : String str = "Java string-split#test" 는 Str.split(" |-|#") 사용하여 각 문자열을 분리 할 수 있습니다. 이것은 문자열을 3 개의 하위 문자로 나눕니다.
2. java.util.tokenizer jdk 1.0 이상
StringTokenizer
StringTokenizer 클래스를 사용하면 응용 프로그램이 문자열을 토큰으로 분해 할 수 있습니다. StringTokenizer는 호환성 이유로 보존 된 레거시 클래스입니다 (새 코드에서는 권장되지 않지만). 이 기능을 원하는 모든 사람들은 String의 분할 메소드 또는 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 ()+""); }}}그러나 문자열 "192.168..33"의 분할의 경우, 반환 된 문자열 배열에는 3 개의 요소가 있고 두 분리기 사이의 빈 문자열은 무시됩니다. 이것은주의해서 사용해야합니다.
그러나 String.split ( String.split 은 일반 표현식과 일치하므로 KMP 문자열 일치 알고리즘을 사용하지 않음)은 O (M*N)의 높은 시간 복잡성과 함께 순서대로 트래버스를 사용하는 알고리즘을 사용하므로 성능면에서 StringTokenizer가 훨씬 좋습니다. ETL 데이터 처리와 같이 문자열 세분화를 자주 사용하는 응용 분야의 경우 StringTokenizer를 사용하는 성능을 많이 향상시킬 수 있습니다.
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용이 귀하의 연구 나 업무에 도움이되기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다.