2023-08-18
1. repeat(반복횟수)
repeat는 문자열을 반복 횟수만큼 연결한 값의 문자열을 반환합니다. 앞에 문자열이 비어 있거나 카운트가 0이면 빈 문자열이 반환됩니다.
@Test
public void whenRepeatStringTwice_thenGetStringTwice() {
String output = "La ".repeat(2) + "Land";
System.out.println(output);
MatcherAssert.assertThat(output, Matchers.is("La La Land"));
}
2. strip()
모든 선행 및 후행 공백이 제거된 문자열을 결과값으로 반환합니다. 문자열 개체가 빈 문자열을 나타내거나 문자열의 모든 코드 포인트가 공백인 경우 빈 문자열이 반환됩니다. 그렇지 않으면 공백이 아닌 첫 번째 코드 포인트로 시작하여 공백이 아닌 마지막 코드 포인트를 포함하여 문자열의 하위 문자열을 반환합니다. 이 방법은 문자열의 시작과 끝에서 공백을 제거하는 데 사용될 수 있습니다.
@Test
public void whenStripString_thenReturnStringWithoutWhitespaces() {
MatcherAssert.assertThat("\n\t hello \u2005".strip(), Matchers.is("hello"));
//strip() 인스턴스 메서드는 선행 및 후행 공백이 모두 제거된 문자열을 반환합니다.
}
3. trim()
모든 선행 및 후행 공백이 제거된 결과값을 반환합니다. 여기서 공백은 코드 포인트가 'U+0020' 이하인 문자(공백 문자)로 정의됩니다. 이 String 개체가 빈 문자 시퀀스를 나타내거나 이 String 개체가 나타내는 문자 시퀀스의 처음 문자와 마지막 문자가 모두 공백이 아닌 코드를 가지고 있는 경우 이 String 개체에 대한 참조가 반환됩니다.
그렇지 않으면 이 문자열의 모든 문자가 공백이면 빈 문자열을 나타내는 문자열 개체가 반환됩니다.
또한 코드가 공백이 아닌 문자열의 첫 번째 문자의 인덱스를 k로 하고 코드가 공백이 아닌 문자열의 마지막 문자의 인덱스를 m으로 합니다. 문자열 개체가 반환되며 인덱스 k에서 문자로 시작하여 인덱스 m에서 문자로 끝나는 문자열의 하위 문자열을 나타냅니다. 즉.substring(k, m + 1)의 결과입니다. 이 방법은 문자열의 시작과 끝에서 공간을 트리밍하는 데 사용할 수 있습니다.
@Test
public void whenTrimAdvanceString_thenReturnStringWithWhitespaces() {
MatcherAssert.assertThat("\n\t hello \u2005".trim(), Matchers.is("hello \u2005"));
//trim 은 는 제거하지 못함
}
4. isBlank()
문자열이 비어 있거나 공백 코드 포인트만 포함된 경우 true를 반환하고, 그렇지 않으면 false를 반환합니다.
@Test
public void whenBlankString_thenReturnTrue() {
String input = "\n\t\u2005 ";
MatcherAssert.assertThat(input.isBlank(), Matchers.is(true));
//strip() 은 공백을 제거한 문자열을 리턴하지만 isBlank 는 공백만 있는지 여부를 체크해서 리턴한다.
String input2 = "\n\t\u2005 test";
MatcherAssert.assertThat(input2.isBlank(), Matchers.is(false));
//공백이 아닌 문자열이 포함되어서 false 를 리턴한다.
}