【发布时间】:2022-11-14 20:11:59
【问题描述】:
我正在开发一个使用 Google MLkit 的 OCR 读取序列号的应用程序。 我发现有时读数并不完全准确,因此我创建了一个函数,只要格式不正确,它就会返回真/假。我对 Kotlin 有点陌生,我正在使用一种可取的方式这样做,因为我没有找到任何关于如何以更有效/正确的方式做到这一点的信息。
序列号始终具有相同的格式。 L=字母 D=数字 格式:LDDLLDDDDDDL
我相信有一种更好的方法可以做到这一点,而不涉及吉萨代码金字塔。
fun checkFormat(numSerie: String): Boolean {
val numSerieArr = numSerie.toCharArray()
var isCorrect = false
if (numSerieArr[0].isLetter()) {
if (numSerieArr[1].isDigit()) {
if (numSerieArr[2].isDigit()) {
if (numSerieArr[3].isLetter()) {
if (numSerieArr[4].isLetter()) {
if (numSerieArr[5].isDigit()) {
if (numSerieArr[6].isDigit()) {
if (numSerieArr[7].isDigit()) {
if (numSerieArr[8].isDigit()) {
if (numSerieArr[9].isDigit()) {
if (numSerieArr[10].isDigit()) {
if (numSerieArr[11].isLetter()) {
isCorrect = true
}
}
}
}
}
}
}
}
}
}
}
}
return isCorrect
}
提前感谢您对此的任何回复!
【问题讨论】:
-
常用表达很可能是您要查找的内容。
-
@Vym谢谢,看起来就是这样,如果我设法做到这一点,我会用解决方案更新帖子。
标签: android string kotlin format