빈 값을 제외한 Java 문자열 분할
split() 메소드를 사용하여 문자열을 분할할 때 분할 작업으로 인해 발생하는 빈 값은 일반적으로 결과 배열에서 제거됩니다. 이는 특히 빈 값이 포함될 수 있는 문자열로 작업할 때 예상치 못한 결과를 초래할 수 있습니다.
다음 코드 조각을 고려하세요.
String data = "5|6|7||8|9||"; String[] split = data.split("\|"); System.out.println(split.length);
위 예에서 예상되는 출력은 배열입니다. 8개 요소: [5, 6, 7, EMPTY, 8, 9, EMPTY, EMPTY]. 그러나 실제 출력은 빈 값을 제외한 6개의 값뿐입니다.
이 문제를 해결하고 결과 배열에 빈 값이 포함되도록 하려면 오버로드된 버전의 Split() 메서드를 사용할 수 있습니다. 음수 값으로 설정된 추가 제한 매개변수를 사용합니다.
String[] split = data.split("\|", -1);
제한 매개변수를 -1로 설정하면 분할 패턴이 적용되는 횟수에 제한이 없음을 나타냅니다. 이렇게 하면 결과 배열에서 뒤에 오는 빈 문자열을 제외하는 기본 동작이 방지됩니다.
split() 메서드 문서에는 제한이 0보다 큰 경우 패턴이 해당 제한까지 적용되고 결과 배열이 생성된다고 명시되어 있습니다. 길이는 제한보다 크지 않습니다. 제한이 양수가 아닌 경우 패턴은 가능한 한 많이 적용되며 결과 배열의 길이는 제한되지 않습니다.
후행 빈 문자열을 제외하는 기본 동작은 빈 문자열에만 적용된다는 점에 유의하는 것이 중요합니다. 분할 작업의 결과로 생성된 문자열입니다. 원래 문자열에 빈 문자열이 이미 있는 경우에도 결과 배열에 계속 포함됩니다.
split() 메서드의 동작을 이해하고 제한 매개변수를 효과적으로 활용하면 포함을 제어할 수 있습니다. 또는 결과 배열에서 빈 값을 제외하여 분할 작업이 원하는 결과를 생성하도록 합니다.
위 내용은 Java 문자열을 분할할 때 빈 문자열을 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!