如何檢查給定字串是否多次包含另一個子字串?
fun isFieldRepeated(jsonIn: String, field:String): Boolean {
var count: Int = 0;
while (jsonIn.indexOf(field) > -1) {
jsonIn = jsonIn.substring(jsonIn.indexOf(field) field.length(),jsonIn.length());
count ;
}
if(count>1)
return true;
return false;
}
uj5u.com熱心網友回復:
您確定您的代碼雖然有點多余,但不起作用嗎?
以下應該做你看似想要的,但更干凈:)
fun isFieldRepeated(jsonIn: String, field:String): Boolean {
val index: Int =jsonIn.indexOf(field)
return index!=-1 && jsonIn.indexOf(index, field)!=-1
}
希望能幫助到你!
uj5u.com熱心網友回復:
我會將其簡化為
fun isFieldRepeated(jsonIn: String, field:String): Boolean =
jsonIn.firstIndexOf(field) != jsonIn.lastIndexOf(field)
uj5u.com熱心網友回復:
fun isFieldRepeated(jsonIn: String, field: String): Boolean {
return jsonIn.windowed(field.length) { it == field }.count { it } > 1
}
或作為擴展功能:
fun String.isFieldRepeated(field: String) = windowed(field.length) { it == field }.count { it } > 1
...例如像這樣使用:
println("abcdefghcdij".isFieldRepeated("cd"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/495713.html
