2 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
個(gè)位數(shù):
val expression = "\"[\"pusher-decision-voting-started\",9]\""
val result : Long? = expression.firstOrNull { it.isDigit() }
?.toString()
?.toLong()
壞習(xí)慣:如果你想查找超過(guò) 1 位的數(shù)字,將會(huì)產(chǎn)生不好的結(jié)果。
多個(gè)數(shù)字:
val expression2 = "\"[\"pusher-decision-voting-started\",92]\""
val result2 : Long? = expression2.filter { it.isDigit() }
.takeIf { it.isNotEmpty() }
?.toLong()
壞習(xí)慣:如果數(shù)字不接近,會(huì)產(chǎn)生錯(cuò)誤的結(jié)果
這兩個(gè)結(jié)果都適用于缺失的數(shù)字。我希望它適合你的情況。

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
嗯,我不知道所有的背景和整個(gè)要求,但我會(huì)嘗試這個(gè)
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("")));
但我建議先做一些檢查
添加回答
舉報(bào)