Android

[Kotlin] 정규식 이름 마스킹 name masking

zerocool0713 2023. 5. 26. 15:00
반응형
fun maskingName(name: String): String {
    val regex = "(^[가-힣]+)$" // 한글만 (영어, 숫자 포함 이름 제외)
    val matcher: Matcher = Pattern.compile(regex).matcher(name)
    if (matcher.find()) {
        val length: Int = name.length
        var middleMask = ""
        middleMask = if (length > 2) {
            name.substring(1, length - 1)
        } else { // 이름 외자
            name.substring(1, length)
        }
        var dot = ""
        for (i in 0 until middleMask.length) {
            dot += "*"
        }
        return if (length > 2) {
            (name.substring(0, 1) + middleMask.replace(middleMask, dot!!) + name.substring(length - 1, length))
        } else { // 이름 외자 
            (name.substring(0, 1) + middleMask.replace(middleMask, dot!!))
        }
    }
    return name
}

 

 

 

 

 

 

 

반응형