The problem
Given a string str, reverse it omitting all non-alphabetic characters.
Examples:
For str = "krishan", the output needs to be "nahsirk".
For str = "ultr53o?n", the output needs to be "nortlu".
Enter/Output:
A string consists of lowercase Latin letters, digits, and symbols.
The answer in Kotlin
Choice 1:
enjoyable reverseLetter(str: String): String {
return str.filter(Char::isLetter).reversed()
}
Choice 2:
enjoyable reverseLetter(str: String) = str.reversed().filter{ it.isLetter() }
Choice 3:
enjoyable reverseLetter(str: String): String = str.exchange(Regex("[^a-zA-Z]"), "").reversed()
Take a look at circumstances to validate our resolution
import kotlin.take a look at.assertEquals
import org.junit.Take a look at
class TestReverseLetter {
@Take a look at
enjoyable `Primary Checks` () {
val str = "krishan"
assertEquals("nahsirk", reverseLetter("krishan"))
assertEquals("nortlu", reverseLetter("ultr53o?n"))
assertEquals("cba", reverseLetter("ab23c"))
assertEquals("nahsirk", reverseLetter("krish21an"))
}
}