1. 개요
아파치 코 몬즈 랭 3 라이브러리는 자바의 API의 핵심 클래스의 조작에 대한 지원을 제공합니다. 이 지원에는 문자열, 숫자, 날짜, 동시성, 개체 반영 등을 처리하는 방법이 포함됩니다.
라이브러리에 대한 일반적인 소개를 제공하는 것 외에도이 예제 은 String 인스턴스의 조작에 사용되는 StringUtils 클래스의 메서드를 보여줍니다 .
2. Maven 의존성
Commons Lang 3 라이브러리를 사용하려면 다음 의존성을 사용하여 중앙 Maven 저장소에서 가져옵니다.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
이 라이브러리의 최신 버전은 여기에서 찾을 수 있습니다 .
3. StringUtils
인 StringUtils의 클래스는 방법 제공 널 (null) 문자열에 - 안전 작업을.
이 클래스의 많은 메소드 에는 null 안전 이 아닌 클래스 java.lang.String에 정의 된 대응하는 메소드 가 있습니다 . 그러나이 섹션에서는 대신 String 클래스에 해당 항목이없는 여러 메서드에 중점을 둡니다 .
4. containsAny 메소드
containsAny의 방법을 확인 주어진 경우 문자열은 지정된 문자 세트에있는 문자가 포함되어 있습니다. 이 문자 집합은 String 또는 char varargs 형식으로 전달할 수 있습니다 .
다음 코드 조각은 결과 확인과 함께이 메서드의 두 가지 오버로드 된 특징을 사용하는 방법을 보여줍니다.
String string = "baeldung.com";
boolean contained1 = StringUtils.containsAny(string, 'a', 'b', 'c');
boolean contained2 = StringUtils.containsAny(string, 'x', 'y', 'z');
boolean contained3 = StringUtils.containsAny(string, "abc");
boolean contained4 = StringUtils.containsAny(string, "xyz");
assertTrue(contained1);
assertFalse(contained2);
assertTrue(contained3);
assertFalse(contained4);
5. containsIgnoreCase 메소드
containsIgnoreCase에 있어서 검사 주어진 경우 문자열 다른 포함 된 문자열 경우 둔감하게한다.
것이 다음의 코드를 검증하고 문자열 "baeldung.com" 포함 "BAELDUNG"는 대소 무시된다 :
String string = "baeldung.com";
boolean contained = StringUtils.containsIgnoreCase(string, "BAELDUNG");
assertTrue(contained);
6. countMatches 메서드
counterMatches의 방법 카운트 얼마나 많은 시간 주어진에서 문자 또는 부분 문자열이 나타납니다 문자열입니다.
다음은 'w' 가 네 번 나타나고 "com" 이 "welcome to www.baeldung.com" 문자열 에서 두 번 나타나는 것을 확인하는이 방법의 데모입니다 .
String string = "welcome to www.baeldung.com";
int charNum = StringUtils.countMatches(string, 'w');
int stringNum = StringUtils.countMatches(string, "com");
assertEquals(4, charNum);
assertEquals(2, stringNum);
7. 추가 및 추가 방법
appendIfMissing 및 appendIfMissingIgnoreCase 방법은 소정의 단부에 접미사를 추가 문자열 이미 각각 전달 된 접미사 경우에 민감하고 둔감하게 임의 끝나지 않는 경우.
마찬가지로 prependIfMissing 및 prependIfMissingIgnoreCase 메서드 는 전달 된 접두사로 시작하지 않는 경우 지정된 문자열 의 시작 부분에 접두사를 추가합니다 .
다음 예에서 appendIfMissing 및 prependIfMissing 메소드는 이러한 접미사가 반복되지 않고 문자열 "baeldung.com"에 접미사와 접두사를 추가하는 데 사용됩니다 .
String string = "baeldung.com";
String stringWithSuffix = StringUtils.appendIfMissing(string, ".com");
String stringWithPrefix = StringUtils.prependIfMissing(string, "www.");
assertEquals("baeldung.com", stringWithSuffix);
assertEquals("www.baeldung.com", stringWithPrefix);
8. 케이스 변경 방법
문자열 클래스는 이미 모든 문자를 변환하는 방법을 정의하는 문자열이 대문자 또는 소문자로합니다. 이 하위 섹션에서는 swapCase , capitalize 및 uncapitalize를 포함하여 다른 방식으로 String 의 대소 문자를 변경하는 메서드의 사용 만 설명합니다 .
swapCase에 있어서 스왑 (A)의 경우 문자열은 소문자와 대문자 소문자 대문자 변경 :
String originalString = "baeldung.COM";
String swappedString = StringUtils.swapCase(originalString);
assertEquals("BAELDUNG.com", swappedString);
는 투자 주어진의 첫 번째 문자 방식 변환 문자열이 변경되지 않은 나머지 모든 문자를 남겨두고 대문자를 :
String originalString = "baeldung";
String capitalizedString = StringUtils.capitalize(originalString);
assertEquals("Baeldung", capitalizedString);
uncapitalize 방법은 주어진의 첫 번째 문자 변환 문자열이 변경되지 않은 나머지 모든 문자를 떠나, 소문자로 :
String originalString = "Baeldung";
String uncapitalizedString = StringUtils.uncapitalize(originalString);
assertEquals("baeldung", uncapitalizedString);
9. 반전 방법
인 StringUtils의 : 클래스는 문자열을 반대하는 두 가지 방법을 정의 역 및 reverseDelimited을 . 역 방법은 모든 문자를 재 배열 문자열 그동안 반대 순서로 reverseDelimited의 문자의 방법 재주문 그룹이 지정된 구분 기호로 구분.
다음 코드 조각은 "baeldung" 문자열을 반전 하고 결과의 유효성을 검사합니다.
String originalString = "baeldung";
String reversedString = StringUtils.reverse(originalString);
assertEquals("gnudleab", reversedString);
reverseDelimited 메서드를 사용하면 문자가 개별적으로가 아니라 그룹으로 반전됩니다.
String originalString = "www.baeldung.com";
String reversedString = StringUtils.reverseDelimited(originalString, '.');
assertEquals("com.baeldung.www", reversedString);
10. rotate () 메서드
회전 () (A)의 방법 원형 이동 문자 문자열 위치의 번호입니다. 아래 코드 조각은 문자열 "baeldung" 의 모든 문자를 오른쪽으로 네 위치 이동하고 결과를 확인합니다.
String originalString = "baeldung";
String rotatedString = StringUtils.rotate(originalString, 4);
assertEquals("dungbael", rotatedString);
11. 차이 방법
차분 있어서 제의 나머지를 반환 두 문자열을 비교하는 문자열을 그 제 상이한 위치에서 시작. 다음 코드 조각은 "Baeldung Tutorials" 및 "Baeldung Courses" 라는 두 문자열 을 양방향으로 비교하고 결과를 검증합니다.
String tutorials = "Baeldung Tutorials";
String courses = "Baeldung Courses";
String diff1 = StringUtils.difference(tutorials, courses);
String diff2 = StringUtils.difference(courses, tutorials);
assertEquals("Courses", diff1);
assertEquals("Tutorials", diff2);
12. 결론
이 예제에서는 Apache Commons Lang 3의 문자열 처리를 소개하고 StringUtils 라이브러리 클래스 에서 사용할 수있는 주요 API를 살펴 봅니다.
항상 그렇듯이 위에 제공된 모든 예제 및 코드 스 니펫의 구현은 GitHub 프로젝트 에서 찾을 수 있습니다 .
- https://docs.spring.io/spring-framework/docs/current/reference/html
- https://www.baeldung.com/string-processing-commons-lang
'Java' 카테고리의 다른 글
Java에서 경과 시간 측정 (0) | 2021.03.26 |
---|---|
Java에서 분리 자로 원시 배열 결합 (0) | 2021.03.25 |
Spring MVC 컨트롤러에서 일반 HTML 반환 (0) | 2021.03.25 |
Java에서 파일 내용 삭제 (0) | 2021.03.25 |
이미지를 Base64 문자열로 변환 (0) | 2021.03.25 |