Sha256: 65e16ebc824e75ef796215386b472a88bd11fabf31b45349a615db2bc88f056e

Contents?: true

Size: 418 Bytes

Versions: 126

Compression:

Stored size: 418 Bytes

Contents

object WordCount {

    fun phrase(phrase: String): Map<String, Int> {
        val withoutPunctuation = phrase.toLowerCase().replace(Regex("[^\\w']"), " ").trim()

        val words = withoutPunctuation.split(Regex("\\s+"))

        val unquotedWords = words.map { word -> word.trim('\'') }

        val groupedWords = unquotedWords.groupBy { w -> w }

        return groupedWords.mapValues { it.value.size }
    }

}

Version data entries

126 entries across 126 versions & 1 rubygems

Version Path
trackler-2.2.1.58 tracks/kotlin/exercises/word-count/.meta/src/reference/kotlin/WordCount.kt
trackler-2.2.1.57 tracks/kotlin/exercises/word-count/.meta/src/reference/kotlin/WordCount.kt
trackler-2.2.1.56 tracks/kotlin/exercises/word-count/.meta/src/reference/kotlin/WordCount.kt
trackler-2.2.1.55 tracks/kotlin/exercises/word-count/.meta/src/reference/kotlin/WordCount.kt
trackler-2.2.1.54 tracks/kotlin/exercises/word-count/.meta/src/reference/kotlin/WordCount.kt
trackler-2.2.1.53 tracks/kotlin/exercises/word-count/.meta/src/reference/kotlin/WordCount.kt