Publicado en Android

Detectar si un texto está en arabe en Android Kotlin


Si se requiere detectar si un texto está escrito en arabe

fun isProbablyArabic(s: String): Boolean {
    var i = 0
    while (i < s.length) {
        val c = s.codePointAt(i)
        if (c in 0x0600..0x06E0) return true
        i += Character.charCount(c)
    }
    return false
}

Convertir números arabes a decimales

Otra función de gran utilidad es convertir los números arabes a formato decimal para luego poder operar con ellos con comodidad

fun arabicToDecimal(number: String): String {
    val chars = CharArray(number.length)
    for (i in number.indices) {
        var ch : Char = number[i]
        if (ch.toInt() in 0x0660..0x0669) {
            ch -= (0x0660 - '0'.toInt())
        } else if (ch.toInt() in 0x06f0..0x06F9) {
            ch -= (0x06f0 - '0'.toInt())
        }
        chars[i] = ch
    }
    return String(chars)
}

Autor:

Desarrollador freelance programador apasionado por el arte de programar, amante del auto aprendizaje y interesado por la tecnología en general.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .