"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java Lookahead 및 Lookbehind를 사용하여 구분 기호가 보존된 문자열을 분할하는 방법은 무엇입니까?

Java Lookahead 및 Lookbehind를 사용하여 구분 기호가 보존된 문자열을 분할하는 방법은 무엇입니까?

2024-11-08에 게시됨
검색:232

How to Split Strings with Delimiters Preserved Using Java Lookahead and Lookbehind?

구분 기호가 보존된 문자열 분할

고유한 구분 기호 세트로 구분된 여러 줄 문자열로 작업할 때 문자열을 분할하는 것이 어려울 수 있습니다. 구분 기호 자체도 보존합니다. 표준 String.split 메소드는 지정된 구분 기호를 기준으로 문자열만 분리하고 구분 기호 문자는 삭제합니다.

Lookahead 및 Lookbehind 사용

JDK(Java Development Kit) 최종 문자에 포함하지 않고 문자를 일치시키고 캡처할 수 있는 정규 표현식의 기능인 Lookahead 및 LookBehind를 사용하는 솔루션을 제공합니다. result.

다음은 미리보기 및 뒤돌아보기를 사용하는 예입니다.

String input = "(Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4)";

String[] splitWithDelimiter = input.split("((?

The Pattern:

  • (?
  • (?=;)는 세미콜론 바로 앞의 빈 문자와 일치합니다. (미리보기).
  • ((?

출력:

[Text1, ;, DelimiterA, ;, Text2, ;, DelimiterC, ;, Text3, ;, DelimiterB, ;, Text4]

이 결과는 텍스트와 함께 구분 기호를 유지하여 문자열을 분할하는 동안 구분 기호를 그대로 유지해야 하는 요구 사항을 충족합니다.

가독성 향상

정규 표현식은 때로는 읽고 이해하기 어려울 수 있습니다. 가독성을 높이기 위해 정규식 패턴을 나타내는 설명적인 이름으로 변수를 만들 수 있습니다. 예:

static final String WITH_DELIMITER = "((?

자리 표시자와 Java의 String.format을 사용하면 정규식을 보다 직관적이고 해석하기 쉽게 만들 수 있습니다.

릴리스 선언문 이 글은 1729746892에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3