1. 문자열 비교
문자열을 사용하는 가장 일반적인 작업 중 하나는 비교입니다. String 클래스에는 한 문자열을 다른 문자열과 비교하는 데 사용되는 10개 이상의 서로 다른 메서드가 있습니다. 아래에서 우리는 주요한 것들 중 7가지를 살펴볼 것입니다.
행동 양식 | 설명 |
---|---|
|
문자열은 모든 문자가 일치하면 동일한 것으로 간주됩니다. |
|
대소문자를 무시하고 문자열을 비교합니다(대문자인지 소문자인지 무시). |
|
문자열을 사전순으로 비교합니다. 문자열이 같으면 0을 반환합니다. 현재 문자열이 문자열 매개변수보다 작은 경우 반환 값은 0보다 작습니다. 반환 값은 현재 문자열이 문자열 매개 변수보다 큰 경우보다 큽니다. |
|
대소문자를 무시하면서 문자열을 사전순으로 비교합니다. 문자열이 같으면 0을 반환합니다. 현재 문자열이 문자열 매개변수보다 작은 경우 반환 값은 음수입니다. 반환 값은 현재 문자열이 문자열 매개 변수보다 큰 경우보다 큽니다. |
|
문자열의 일부를 비교합니다. |
|
현재 문자열이 문자열로 시작하는지 확인합니다.prefix |
|
현재 문자열이 문자열로 끝나는지 확인합니다.suffix |
사용자에게 파일 경로를 요청한 다음 확장자를 기반으로 파일 형식을 확인하는 프로그램을 작성한다고 가정해 보겠습니다. 이러한 프로그램의 코드는 다음과 같을 수 있습니다.
암호 | 노트 |
---|---|
|
Scanner 개체 생성 콘솔에서 라인 읽기 문자열이 path 주어진 문자열로 끝나는 지 확인 |
2. 하위 문자열 검색
문자열을 비교한 후 두 번째로 많이 사용되는 작업은 문자열 내부에서 다른 문자열을 찾는 것입니다. String 클래스에는 이를 위한 몇 가지 메서드도 있습니다.
행동 양식 | 설명 |
---|---|
|
str 현재 문자열에서 문자열을 검색합니다 . 처음 나타나는 첫 번째 문자의 인덱스를 반환합니다. |
|
str 현재 문자열에서 첫 번째 문자를 건너뛰고 문자열을 검색합니다 index . 발생 인덱스를 반환합니다. |
|
str 현재 문자열에서 끝부터 시작하여 문자열을 검색합니다 . 처음 발생한 인덱스를 반환합니다. |
|
str 현재 문자열에서 첫 번째 문자를 건너뛰고 끝에서부터 문자열을 찾습니다 index . |
|
현재 문자열이 정규식으로 지정된 패턴과 일치하는지 확인합니다. |
및 방법 indexOf(String)
은 indexOf(String, index)
종종 조합하여 사용됩니다. 첫 번째 방법을 사용하면 현재 문자열에서 전달된 하위 문자열의 첫 번째 항목을 찾을 수 있습니다. 두 번째 방법을 사용하면 첫 번째 색인 문자를 건너뛰어 두 번째, 세 번째 등의 항목을 찾을 수 있습니다.
" https://domain.com/about/reviews " 와 같은 URL이 있고 도메인 이름을 " codegym.cc " 로 바꾸고 싶다고 가정합니다 . URL은 모든 종류의 서로 다른 도메인 이름을 가질 수 있지만 다음을 알고 있습니다.
- 도메인 이름 앞에 두 개의 슬래시("
//
") 가 붙습니다. - 도메인 이름 뒤에 단일 슬래시("
/
") 가 붙습니다.
이러한 프로그램의 코드는 다음과 같습니다.
암호 | 노트 |
---|---|
|
스캐너 개체 만들기 콘솔에서 한 줄 읽기 " " 문자열의 첫 번째 인덱스 가져오기 문자열의 첫 번째 인덱스를 가져오지만 문자 발생 이후에만 찾습니다 . 우리는 문자의 처음부터 끝까지 문자열을 얻습니다. 우리는 문자열을 끝까지 얻습니다. 문자열과 새 도메인을 연결합니다. // / // // / |
및 메소드는 동일한 방식으로 작동하며 문자열의 끝 lastIndexOf(String)
에서 lastIndexOf(String, index)
처음까지 검색만 수행됩니다.
3. 하위 문자열 만들기
문자열을 비교하고 하위 문자열을 찾는 것 외에도 매우 인기 있는 또 다른 작업이 있습니다. 문자열에서 하위 문자열을 가져오는 것입니다. 공교롭게도 이전 예제에서는 substring()
문자열의 일부를 반환하는 메서드 호출을 보여 주었습니다.
다음은 현재 문자열에서 하위 문자열을 반환하는 8가지 메서드 목록입니다.
행동 양식 | 설명 |
---|---|
|
인덱스 범위로 지정된 하위 문자열을 반환합니다 beginIndex..endIndex . |
|
현재 문자열을 n번 반복 |
|
새 문자열 반환: 문자를 oldChar 문자로 바꿉니다.newChar |
|
현재 문자열에서 정규식으로 지정된 첫 번째 하위 문자열을 바꿉니다. |
|
정규식과 일치하는 현재 문자열의 모든 하위 문자열을 바꿉니다. |
|
문자열을 소문자로 변환 |
|
문자열을 대문자로 변환 |
|
문자열의 시작과 끝에서 모든 공백을 제거합니다. |
다음은 사용 가능한 방법에 대한 요약입니다.
substring(int beginIndex, int endIndex)
방법
이 메서드는 index가 있는 문자에서 시작하여 에서 끝나는 substring
현재 문자열의 문자로 구성된 새 문자열을 반환합니다 . Java의 모든 간격과 마찬가지로 인덱스가 있는 문자는 간격에 포함되지 않습니다. 예:beginIndex
endIndex
endIndex
암호 | 결과 |
---|---|
|
|
|
|
|
|
|
|
매개변수가 지정되지 않은 경우 endIndex
(가능한 경우) 하위 문자열은 beginIndex의 문자에서 문자열 끝까지 가져옵니다.
repeat(int n)
방법
repeat 메소드는 단순히 현재 문자열을 반복합니다 n
. 예:
암호 | 결과 |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
방법
이 메서드는 모든 문자가 문자로 대체된 replace()
새 문자열을 반환합니다 . 이것은 문자열의 길이를 변경하지 않습니다. 예:oldChar
newChar
암호 | 결과 |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
및 replaceAll()
방법
이 replaceAll()
메서드는 한 하위 문자열의 모든 항목을 다른 하위 문자열로 바꿉니다. 이 replaceFirst()
메서드는 전달된 하위 문자열의 첫 번째 항목을 지정된 하위 문자열로 바꿉니다. 바꿀 문자열은 정규식으로 지정됩니다. Java Multithreading 퀘스트 에서 정규 표현식에 대해 자세히 알아볼 것입니다 .
예:
암호 | 결과 |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
행동 양식
우리는 클래스의 메서드 호출에 대해 처음 배웠을 때 이러한 메서드를 알게 되었습니다 String
.
trim()
방법
이 trim()
메서드는 문자열에서 선행 및 후행 공백을 제거합니다. 문자열 내부에 있는 공백을 건드리지 않습니다(즉, 처음이나 끝에 있지 않음). 예:
암호 | 결과 |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION