使用Kotlin从每个字符串获取值[已关闭]

y0u0uwnf  于 2023-02-13  发布在  Kotlin
关注(0)|答案(4)|浏览(122)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

昨天关门了。
Improve this question
我是新的Kotlin,我需要得到每个整数值和打印它。

"""
int a = 5;
int b = 2;
"""

我该怎么做?谢谢!

nle07wnf

nle07wnf1#

val input = """
int a = 5;
int b = 2;
"""

val regex = "\\s*int a = (\\d+);\\s*int b = (\\d+);\s*".toRegex()
val result = regex.find(input)

if (result != null) {
  val (_, a, b) = result.groupValues
  println("a is: $a")
  println("b is: $b")
} else {
  println("invalid input")
}
ruoxqz4g

ruoxqz4g2#

欢迎使用Kotlin!要获得与您在Kotlin中提供的代码片段相同的结果,您可以使用以下代码:

fun main(){
   val a: Int = 5
   val b: Int = 2
   println(a)
   println(b)
}

这段代码声明了两个Int类型的变量a和b,分别为它们赋值5和2,然后使用println函数将它们的值打印到控制台。

wqlqzqxt

wqlqzqxt3#

如果“get”这个词是指从这个字符串中获取整数,那么你的“parsing”就是:

fun main() {
    val codeInString = """
int a = 5;
int b = 2;
"""
    codeInString
        .lineSequence()
        .mapNotNull(::intValueFromAssignmentLine)
        .toList()
        .let { println("assigned ints: $it") } // assigned ints: [5, 2]
}

fun intValueFromAssignmentLine(line: String) = line
    .split('=')
    .getOrNull(1) // if there will be no lines without '=', then you don't "OrNull" part here
    ?.ifEmpty { null } // and `ifEmpty` function here
    ?.dropLast(1) // drop ';'
    ?.trim()
    ?.toIntOrNull()
58wvjzkj

58wvjzkj4#

如果我没理解错的话:

fun main() {
    val a: Int = 5
    val b: Int = 10
    println(a.toString())
    println(b.toString())
}

相关问题