当前位置: 首页 > 知识库问答 >
问题:

Android静态编程语言:如何检测TextView包含0到9的最后一个字符串

单修德
2023-03-14

你好,我是android软件开发的初学者。我正在制作一个计算器应用程序来测试我的技能。在计算器中有0-9个数字和一些其他运算符,如,-,*,/等。在功能相同的情况下,我必须确保TextView的最后一个字符串有任何数字(0-9),而不是任何运算符。

我同样的乐趣是:

fun onEqual(view: View) {
    if (tv_input.text.contains("0-9")) {
        Toast.makeText(this, "Last string is a number, not operator", Toast.LENGTH_SHORT).show()
    }
}

共有3个答案

暴骏奇
2023-03-14

谢谢大家。我做了我自己的解决方案。

以下是我编写的代码:

fun onEqual(view: View) {
    if (!tv_input.text.toString().equals("")) {
        val last = tv_input.text.toString()
        val lastNumber: String = last.get(last.length - 1).toString()
        Toast.makeText(this, lastNumber, Toast.LENGTH_SHORT).show()
    }else {
        return
    }
}
司寇高峯
2023-03-14

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/ends-with.html

fun String.endsWith(
    suffix: String,
    ignoreCase: Boolean = false
): Boolean

如果此字符串以指定的后缀结尾,则返回true。

晁文斌
2023-03-14

您需要使用Kotlin正则表达式匹配

val lastString = "573" // input
val pattern = "-?\\d+(\\.\\d+)?".toRegex()
/**
-?         allows zero or more - for negative numbers in the string.
\\d+       checks the string must have at least 1 or more numbers (\\d).
(\\.\\d+)? allows zero or more of the given pattern (\\.\\d+) 
           In which \\. checks if the string contains . (decimal points) or not
           If yes, it should be followed by at least one or more number \\d+.
**/
val isLastString = pattern.matches(lastString)
 类似资料:
  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 我正在尝试将我的Java类转换为静态编程语言,这是Java代码: 这就是我把它转换成的: Lambda符号似乎根本不起作用,或者我就是搞不懂。我在Kotlin中发现的所有双函数示例都直接返回这样的值 双函数{名称,年龄- 这在语法上是正确的,但在返回某些内容之前,我需要一些额外的逻辑。出现两条错误消息: > 类型不匹配。必需:单位,找到:字符串 但我确实想返回一个字符串,我还显式声明了它。但是,还

  • 我有一个使用Kotlin 1.0版的Android项目。Android Studio中的0-beta-1038。 我可以在不同的部分使用Kotlin运行它,它在模拟器中编译并工作,但当我尝试使用ReadWriteProperty时,它会给出以下错误消息: 未解析的引用:ReadWriteProperty 类称为首选Utils.kt: build.grade(模块:app) build.grade(

  • 如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。

  • 如何使用Swift从String变量中删除最后一个字符?在文档中找不到它。 以下是完整的示例:

  • 我经常想保存一个不能为空或空白的字符串 - 空格不够好。编译器很好地处理以防止空值,我们可以使用来检查它是空的还是空白的。但是,这要求在使用它的所有位置处理空白检查,然后在空白时处理错误,如果错过了某个位置,这可能会导致意外错误。 是否有一种更简单的方法来定义的类型或扩展名,以强制字符串不能为空?