如何多次判断给定字符串是否包含另一个子字符串?

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; 
 }

推荐答案

您确定您的代码(尽管有点冗余)不能工作吗?

下面应该做你看起来想要做的事情,但要干净一点:)

fun isFieldRepeated(jsonIn: String, field:String): Boolean { 
    val index: Int =jsonIn.indexOf(field)
    return index!=-1 && jsonIn.indexOf(index, field)!=-1
}

希望有帮助!

Kotlin相关问答推荐

如何将时间值格式化为00:00和00:00:00 Kotlin?""""

用普通Kotlin理解Gradle的Kotlin DSL'""

计算值的Elvis算子

"Kotlin中的表达式

有没有一种简单的方法来识别物体?

Kotlin - 什么时候和什么时候不喜欢内联函数,为什么?

如何在 Kotlin 中为类方法调用传递变量

Webpack 配置未应用于 kotlin 多平台react 项目

如何从 Period.between() 返回的字符串中提取信息? (Kotlin )

Kotlin 中的密封和内部有什么区别?

如何在 Hibernate Panache 中进行部分搜索

我们应该在 Effect 和 Either 之间 Select 哪个作为我们业务服务的返回类型?

下拉通知面板时是否可以暂停Android中的任何视频(媒体播放器)应用程序?

使用最新的 com.jakewharton.rxbinding3:rxbinding:3.0.0-alpha2 库时未找到 RxTextView 和其他小部件

Map.mapTo 到另一个map

Kotlin 枚举中的循环引用

Kotlin 创建snackbar

requireNotNull vs sure !! 操作符

Kotlin val difference getter override vs assignment

如何捕获传递给模拟函数的参数并返回它?