可以切换使用String.contains吗?

mit*_*med 3 groovy

我正在努力使这项工作,似乎不被接受.是否有任何修复或解决方法?

switch(email){
    case (email.contains('acceptall')):
        log.info email
        break
    default:
        log.info "Doesn't work!"    
}
Run Code Online (Sandbox Code Playgroud)

我在SoapUI中使用groovy作为脚本

Dav*_*ton 14

大致使用正则表达式:

switch (email) {
  case ~/.*acceptall.*/:
    log.info(email)
    break;
  default:
    log.info("Doesn't work!")
}
Run Code Online (Sandbox Code Playgroud)

http://groovy.codehaus.org/Logical+Branching#LogicalBranching-switchstatement

Switch支持以下类型的比较

  • 如果switchValue是类的实例,则类大小写值匹配
  • 正则表达式大小写值匹配交换机的字符串
  • 如果切换,则值与正则表达式匹配Collection case值匹配
  • 值包含在集合中.这也包括范围(因为它们是列表)
  • 如果没有使用上述情况,那么如果案例值等于开关值,则案例值匹配