String 변수를 활용하여 다양한 작업을 할 수 있는데요.
오늘은 String을 활용하는 내용을 정리해볼까 합니다.
(두구두구) 🥁🥁🥁
문자열 자르기 / 문자열 분할 하기 (substring, split, chunked) 살펴보기
String.indexOf
문자열 찾기 👀
public fun CharSequence.indexOf(string: String, startIndex: Int = 0,
ignoreCase: Boolean = false): Int
/*
Params:
ignoreCase - true to ignore character case when matching a string.
By default false.
Returns:
An index of the first occurrence of string or -1 if none is found.
*/
해당 문자열을 찾지 못한다면 -1 값을 반환한다.
val str = "Kiu!Project!!"
val search = "!"
val indexOf1 = str.indexOf(search)
val indexOf2 = str.indexOf(search, 4)
val indexOf3 = str.lastIndexOf(search)
str.indexOf(search)
> 문자열 내에서 첫번째 특정 문자의 인덱스 반환
str.indexOf(search, 4)
> 문자열 내에서 4번째 문자열 이후 첫 특정 문자의 인덱스 반환
str.lastIndexOf(search)
> 문자열 내에서 마지막 특정 문자의 인덱스 반환
String.indexOf + while
문자열 안에서 특정 문자 모두 찾기 👀
위에서 언급했던 indexOf 의 return 값 정의를 다시 살펴본다면
해당 문자를 찾지 못했을 경우 -1 값을 반환한다.
-1 값을 이용하여 전체 문자열의 모든 문자 위치를 찾을 수 있다.
var index = str.indexOf(search)
while(index != -1){
Log.d("String.indexOf while", "$index")
index = str.indexOf(search, index + 1)
}
위의 작업을 확장함수(Extension Functions)를 이용하면 간편하게 어디든 사용 할 수 있다.
val strIndexOf = "Kiu!Project!!"
val search = "!"
strIndexOf.indexOfAll(search)
// result [3, 11, 12]
// 확장 함수 - Kotlin Extension Function
fun String.indexOfAll(str: String): MutableList<Int> {
var index = this.indexOf(str)
val returnIndex = mutableListOf<Int>()
while (index != -1) {
returnIndex.add(index)
index = this.indexOf(str, index + 1)
}
return returnIndex
}
Kotlin Extension 살펴보기
String.replace
문자열 변환 / 문자열 치환
public actual fun String.replace(oldValue: String, newValue: String,
ignoreCase: Boolean = false): String
val str = "KiuProject KiuAndroid KiuKotlin"
val kiu = "Kiu"
str.replace(kiu, "*")
str.replace()
> 특정 문자를 모두 찾아 변경
여기까지 저의 긴 글을 읽어주셔서 감사합니다.
제가 습관적으로 코딩을 하는 그날까지 습관적으로 코딩을 하기 위해 글 작성을 꾸준하게 해보겠습니다.
'Android > Kotlin' 카테고리의 다른 글
Kotlin String 문자열 활용하기 - 대소문자 변환, format, 공백제거 (%d, \n, trim ...) (2) | 2023.01.28 |
---|---|
Android Kotlin - Date Format 현재날짜 & 'yyyy' vs 'YYYY' (0) | 2022.11.10 |
[Android] Kotlin for문, Kotlin forEach문 (0) | 2022.08.06 |
[Android] Kotlin Extension 나만의 함수 만들기 (0) | 2022.07.21 |
[Android] Kotlin String 문자열 자르기, 문자열 분할 (substring, split, chunked). (1) | 2022.07.16 |
최근댓글