[Java] 문자열 처리 : 유용한 메소드들

coldrice99·2024년 8월 20일
0

1. matches() : 정규식으로 문자열 패턴 확인하기

matches() 메소드는 문자열이 특정 정규 표현식 패턴과 일치하는지 확인하는 데 사용된다. 정규 표현식을 활용하여 문자열이 숫자로만 구성되어 있는지, 특정 패턴을 따르는지 등을 쉽게 확인할 수 있다.

String s = "12345";
boolean isNumeric = s.matches("\\d+");
System.out.println(isNumeric);  // true

정규식 설명:

  • \\d+는 하나 이상의 숫자(0-9)로 이루어진 패턴을 의미한다.
  • s.matches()는 문자열 전체가 이 패턴과 일치하는지 확인한다.

2. PatternMatcher 클래스

Java에서는 정규식을 더욱 세밀하게 제어할 수 있는 PatternMatcher 클래스를 제공한다. 이 방법은 복잡한 패턴 매칭이나 여러 번의 매칭이 필요한 경우에 유용하다.

import java.util.regex.Pattern;
import java.util.regex.Matcher;

String s = "12345";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(s);
boolean isMatch = matcher.matches();  // true

설명:

  • Pattern.compile()은 정규식을 컴파일하여 Pattern 객체를 생성한다.
  • matcher()는 해당 문자열에 대해 패턴과 일치하는지를 검사하는 Matcher 객체를 생성한다.
  • matches()는 전체 문자열이 패턴과 일치하는지 확인한다.

3. contains() : 특정 부분 문자열 포함 여부 확인하기

contains() 메소드는 문자열에 특정 부분 문자열이 포함되어 있는지를 간단히 확인할 수 있는 메소드이다.

String s = "hello world";
boolean contains = s.contains("hello");  // true

사용 사례:

  • contains() 메소드는 정규식을 사용하지 않고, 부분 문자열이 포함되어 있는지만 확인할 때 유용하다.

4. startsWith() : 문자열 시작 패턴 확인하기

startsWith() 메소드는 문자열이 특정 문자열로 시작하는지 확인하는 데 사용된다.

String s = "hello world";
boolean starts = s.startsWith("hello");  // true

사용 사례:

  • 이 메소드는 문자열의 접두사를 확인하는 데 유용하다.

5. endsWith() : 문자열 끝 패턴 확인하기

endsWith() 메소드는 문자열이 특정 문자열로 끝나는지 확인하는 데 사용된다.

String s = "hello world";
boolean ends = s.endsWith("world");  // true

사용 사례:

  • 이 메소드는 문자열의 접미사를 확인하는 데 유용하다.

6. indexOf() : 특정 문자나 문자열의 위치 찾기

indexOf() 메소드는 문자열 내에서 특정 문자나 부분 문자열이 처음 나타나는 위치를 반환한다. 만약 찾는 문자열이 없다면 -1을 반환한다.

String s = "hello world";
int index = s.indexOf("world");  // 6

사용 사례:

  • 이 메소드는 특정 패턴이 문자열 내에서 어디에 위치하는지 확인할 때 유용하다.

7. split() : 문자열을 특정 패턴으로 나누기

split() 메소드는 정규 표현식을 사용하여 문자열을 분리하고, 그 결과를 배열로 반환한다.

String s = "one,two,three";
String[] parts = s.split(",");  // ["one", "two", "three"]

사용 사례:

  • 이 메소드는 문자열을 특정 구분자에 따라 나누고자 할 때 유용하다.

8. replaceAll() : 문자열 내의 패턴을 다른 문자열로 대체하기

replaceAll() 메소드는 정규 표현식을 사용하여 문자열 내의 특정 패턴을 다른 문자열로 대체한다.

String s = "hello world";
String result = s.replaceAll("\\s", "");  // "helloworld"

사용 사례:

  • 이 메소드는 문자열 내의 특정 패턴을 다른 문자열로 변경하고자 할 때 유용하다.

결론

이 글에서는 Java에서 문자열을 처리하기 위해 자주 사용되는 메소드들에 대해 살펴보았다. 각 메소드는 특정 상황에 적합하게 사용될 수 있으므로, 필요에 따라 적절한 메소드를 선택하여 코드를 작성해 보자.


profile
서두르지 않으나 쉬지 않고

0개의 댓글