> Java > java지도 시간 > Java 문자열에서 다중, 선행 및 후행 공백을 효율적으로 제거하는 방법은 무엇입니까?

Java 문자열에서 다중, 선행 및 후행 공백을 효율적으로 제거하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-25 17:57:12
원래의
683명이 탐색했습니다.

How to Efficiently Remove Multiple, Leading, and Trailing Spaces from Java Strings?

Java 문자열에서 여러 공백 및 선행/후행 공백 제거

Java에서는 여러 연속 공백과 불필요한 공백이 포함된 문자열을 접할 수 있습니다. 시작이나 끝. 이 문제를 해결하려면 선행 및 후행 공백을 동시에 제거하면서 여러 공백을 모두 단일 공백으로 바꾸는 효율적인 접근 방식을 모색합니다.

trim() 및 replacementAll()을 사용한 솔루션

권장 솔루션은 Trim() 메서드와 replacementAll() 메서드를 결합합니다.

String after = before.trim().replaceAll(" +", " ");
로그인 후 복사

trim()은 모든 항목을 제거합니다. 주어진 문자열의 앞뒤 공백. 그런 다음, replacementAll()은 두 개 이상의 연속 공백을 모두 단일 공백으로 바꿉니다.

trim() 정규식 솔루션 없음

가독성은 떨어지지만 가능합니다. 단일 replacementAll()로 동일한 결과를 얻으려면:

String pattern = "^ +| +$|( )+";
String after = before.replaceAll(pattern, "");
로그인 후 복사

이 복잡한 정규식에는 세 가지가 있습니다. 대체:

  • ^ : 문자열 시작 부분의 공백 순서와 일치
  • $: 문자열 끝 부분의 공백 순서와 일치
  • ( _) : 문자열 중간에 있는 모든 공백 시퀀스와 일치

모든 경우에 일치하는 시퀀스를 다음으로 바꿉니다. $1, 여러 공백 대신 단일 공백을 캡처하거나 시작 또는 끝에서 공백을 모두 제거합니다.

추가 리소스

  • String.trim() : https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim()
  • 반복을 위한 정규식: https://regular-expressions.info/ 반복
  • 앵커 정규식: https://regular-expressions.info/Anchors

위 내용은 Java 문자열에서 다중, 선행 및 후행 공백을 효율적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿