Kotlin (코틀린)

[Kotlin] 문자열 공백 제거 / trim() / replace()

Oscar:) 2024. 6. 30. 10:30

 

 

코틀린에서 문자열의 공백을 제거하는 방법을 알아본다.

 

 


 

trim() : 선행·후행 공백 제거

 

 

문자열의 앞, 뒤 공백을 제거해준다.

즉, 문자열 중간에 있는 공백은 제거할 수 없다.

 

 

 

✅ 문법은 다음과 같다.

CharSequence.trim()
String.trim()

 

 

위 2가지 형식에 사용할 수 있으며 String 클래스에서 확인할 수 있다.

 

 

 

 

 

EditText와 Button을 간단히 만들어 주고,

EditText 입력 값에 trim()을 적용하여 로그를 찍어보았다.

 

 

텍스트 앞, 뒤로 공백을 여러번 입력한 상태다.

 

button.setOnClickListener {
	Log.d(TAG, "trim 사용 X : ${edittext.text}")
	Log.d(TAG, "trim 사용 O : ${edittext.text.trim()}")
}

 

CharSequence에도 적용할 수 있기 때문에, text.toString()을 생략할 수 있다.

 

 

 

✅ 결과

 

 

앞, 뒤 공백이 제거된 것을 확인할 수 있다.

문자열 중간의 공백은 제거되지 않는다!

 

 

 


 

replace() : 문자열 내 모든 공백 제거

 

 

replace() 메서드는 사실 공백 제거 용도로만 사용되지는 않지만,

이번 포스팅에서는 공백을 제거하는 용도로 사용한다고 생각하면 된다.

 

 

 

✅ 문법은 다음과 같다.

String.replace(oldValue, newValue)

 

old, new 라는 워딩에서 어느정도 느끼겠지만,

String에 포함된 값 중 해당하는 oldValue 값을 newValue 값으로 변환해준다.

 

 

 

마찬가지로 다음과 같은 텍스트를 입력했다.

 

 

텍스트 앞, 뒤는 물론 중간의 공백도 유심히 지켜보자.

 

button.setOnClickListener {
	Log.d(TAG, "replace 사용 X : ${edittext.text}")
	Log.d(TAG, "replace 사용 O : ${edittext.text.toString().replace(" ", "")}")
}

 

String에만 호출할 수 있기에, text.toString() 후 호출해준다.

 

 

 

✅ 결과

 

 

앞, 뒤 공백을 포함하여 문자열 중간의 공백도 모두 제거되었다.

 

 

 

 


 

 

 

 

문자열 공백 제거 방법에 대해 알아보았다.

 

 

가벼운 내용일 수 있지만, 위 방법들을 알아내기 전까지는

split(' ')으로 쪼개서 반복문을 돌려 다시 이어 붙이는...

(실제로 trim(), replace()도 비슷한 구조로 동작하지만

개발자가 직접 구현하는 것은 정말 번거로운 일이다)

 

정말 원시적이기 짝이 없는 방법을 사용했었던 과거가 떠올라서 포스팅 했다.