본문으로 바로가기

1. 특정 문자열 포함 여부 확인(contains)

public boolean contains(CharSequence s)

: 특정 문자열이 포함되어 있을 경우 true 포함되어 있지 않을 경우 false를 반환합니다.

: 대소문자를 구분합니다.

: CharSequence 인터페이스를 구현한 클래스는 모두 매개로 받아서 포함 여부를 확인할 수 있습니다.

 

예시

String test = "The name of this blog is CodingTree.";

StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("CodingTree");

StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("CodingTree");

System.out.println(test.contains("CodingTree")); // true
System.out.println(test.contains(stringBuffer)); // true (CharSequence 구현체)
System.out.println(test.contains(stringBuilder)); // true (CharSequence 구현체)

 

2. 대소문자 무시하고 문자열 포함 여부 확인(StringUtils.containsIgnoreCase, Pattern.compile)

1. Pattern 클래스 활용

String test = "The name of this blog is CodingTree.";

boolean result1 = Pattern.compile(Pattern.quote("codingtree"), Pattern.CASE_INSENSITIVE).matcher(test).find();
boolean result2 = Pattern.compile(Pattern.quote("CODINGTREE"), Pattern.CASE_INSENSITIVE).matcher(test).find();

System.out.println(result1); // true
System.out.println(result2); // true

 

2. org.apache.commons.lang3.StringUtils 클래스 활용

외부 라이브러리로 그래들, 메이븐 혹은 jar파일로 추가해야 사용할 수 있습니다.

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
String test = "The name of this blog is CodingTree.";

StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("codingtree");

StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("CODINGTREE");

// import org.apache.commons.lang3.StringUtils
System.out.println(StringUtils.containsIgnoreCase(test, "codingtree")); // true
System.out.println(StringUtils.containsIgnoreCase(test, "CODINGTREE")); // true
System.out.println(StringUtils.containsIgnoreCase(test, stringBuffer)); // true
System.out.println(StringUtils.containsIgnoreCase(test, stringBuilder)); // true