可以切换使用String.contains吗?

时间:2014-09-04 13:21:33

标签: groovy

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

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

我在SoapUI中使用groovy作为脚本

1 个答案:

答案 0 :(得分:12)

大致使用正则表达式:

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

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

  

Switch支持以下类型的比较

     
      
  • 如果switchValue是一个实例,则类大小写值匹配   上课
  •   
  • 正则表达式大小写值匹配,如果是字符串   开关
  •   
  • 值匹配正则表达式集合案例值匹配   开关
  •   
  • 值包含在集合中。这还包括范围   (因为它们是列表)
  •   
  • 如果没有使用上述案例   如果case值等于switch值,则值匹配
  •