如何从字符串对象中获取数字?



如何从这个字符串中获取"9"并将值放在长整型对象中

"["pusher-decision-voting-started",9]"

我尝试将字符串转换为 Json 对象,但它不适用于我

个位数

val expression = ""["pusher-decision-voting-started",9]""
val result : Long? = expression.firstOrNull { it.isDigit() }
?.toString()
?.toLong()

坏习惯:如果你想得到超过1位数字,会产生不好的结果。

多位数

val expression2 = ""["pusher-decision-voting-started",92]""
val result2 : Long? = expression2.filter { it.isDigit() }
.takeIf { it.isNotEmpty() }
?.toLong()

坏习惯:如果数字不接近,会产生错误的结果

两种结果都与缺失的数字有关。我希望它适合您的情况。

嗯,我不知道所有的上下文和整个要求,但我会尝试这个

long extractedValue = Long.valueOf(StringUtils.substringsBetween("[", "]").split(",")[1]);
or the java 8 Streams method
Long.valueOf(input.codePoints().filter(Character::isDigit).mapToObj(String::valueOf).collect(Collectors.joining("")));

但我建议在之前做一些检查

相关内容

  • 没有找到相关文章

最新更新