Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Kotlin, how to check if the input is alphabetic only

In kotlin, how to check if the input is alphabetic only. Input could be anything, a String, Int or Double etc.

For example

val input = readLine()
if(check) {
   doSomeTask
}
else doSomethingElse
like image 974
Abhishek Avatar asked Jan 23 '26 06:01

Abhishek


2 Answers

You can have a look here, there are a lot of examples.

for example you can check via

fun isLetters(string: String): Boolean {
    return string.all { it.isLetter() }
}
like image 110
Hakob Hakobyan Avatar answered Jan 25 '26 00:01

Hakob Hakobyan


A good answer for checking if a String is entirely alphabetical was given by @HakobHakobyan: String.all { it.isLetter() }.

I will borrow his solution to target a second aspect of your question, that is

Input could be anything, a string, int or double etc.

Here's another method that checks Any input type:

fun isAplhabetical(input: Any): Boolean {
    when (input) {
        // if the input is a String, check all the Chars of it
        is String -> return input.all { it.isLetter() }
        // if input is a Char, just check that single Char
        is Char -> return input.isLetter()
        // otherwise, input doesn't contain any Char
        else -> return false
    }
}

and it can be used in an example main() like this:

fun main() {
    val a = "Some non-numerical input"
    val b = "45"
    val c = "Some numbers, like 1, 2, 3, 4 and so on"
    val d: Int = 42
    val e: Double = 42.42
    val f: Float = 43.4333f
    val g = "This appears as entirely alphabetical" // but contains whitespaces
    val h = "ThisIsEntirelyAlphabetical"
    
    println("[$a] is" + (if (isAplhabetical(a)) "" else " not") + " (entirely) alphabetical")
    println("[$b] is" + (if (isAplhabetical(b)) "" else " not") + " (entirely) alphabetical")
    println("[$c] is" + (if (isAplhabetical(c)) "" else " not") + " (entirely) alphabetical")
    println("[$d] is" + (if (isAplhabetical(d)) "" else " not") + " (entirely) alphabetical")
    println("[$e] is" + (if (isAplhabetical(e)) "" else " not") + " (entirely) alphabetical")
    println("[$f] is" + (if (isAplhabetical(f)) "" else " not") + " (entirely) alphabetical")
    println("[$g] is" + (if (isAplhabetical(g)) "" else " not") + " (entirely) alphabetical")
    println("[$h] is" + (if (isAplhabetical(h)) "" else " not") + " (entirely) alphabetical")
}

The output is

[Some non-numerical input] is not (entirely) alphabetical
[45] is not (entirely) alphabetical
[Some numbers, like 1, 2, 3, 4 and so on] is not (entirely) alphabetical
[42] is not (entirely) alphabetical
[42.42] is not (entirely) alphabetical
[43.4333] is not (entirely) alphabetical
[This appears as entirely alphabetical] is not (entirely) alphabetical
[ThisIsEntirelyAlphabetical] is (entirely) alphabetical

Only the last String is entirely alphabetical.

like image 36
deHaar Avatar answered Jan 25 '26 00:01

deHaar



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!