Java에서 문자열 분할을 위한 파이프 기호 이스케이프
Java String 클래스는 문자열을 배열로 나누는 Split() 메서드를 제공합니다. 구분 문자나 정규식을 사용하여 하위 문자열을 만듭니다. 파이프 기호(|)로 분할할 경우 파이프 기호가 정규 표현식의 메타 문자이기 때문에 예상치 못한 동작이 발생합니다.
이 문제는 정규 표현식의 규칙에서 비롯됩니다.
따라서 test.split("|")를 사용할 때 | 문자는 리터럴 파이프 기호가 아닌 OR 연산자로 해석됩니다. 이 문제를 해결하려면 .
해결책 1: 파이프 기호 이스케이프
파이프 기호를 이스케이프하려면 이중 백슬래시를 사용하세요. 문자열 내의 \로. 이는 Java에 | 메타 문자가 아닌 리터럴 문자로 처리해야 합니다.
String test = "A|B|C||D"; String[] result = test.split("\|");
해결책 2: Pattern.quote() 사용
또는 Pattern을 사용할 수 있습니다. .quote() 메소드를 사용하여 이스케이프된 파이프 버전을 생성합니다. 기호.
String test = "A|B|C||D"; Pattern pattern = Pattern.quote("|"); String[] result = test.split(pattern);
예상 출력:
두 솔루션 모두 원하는 출력을 생성합니다.
>A< >B< >C< >< >D<
위 내용은 Java에서 문자열 분할을 위해 파이프 기호를 올바르게 이스케이프하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!