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의 성능을 많이 향상시킬 수 있습니다.
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.