如何在Rust中检查字符串是否包含子字符串?

98

我想找出一个字符串中是否包含子字符串。在Python中,这需要使用in运算符,因此我编写了以下代码:

let a = "abcd";
if "bc" in a {
    do_something();
}

我收到一个奇怪的错误信息:

error: expected `{`, found `in`
 --> src/main.rs:3:13
  |
3 |       if "bc" in a {
  |  _____________-^
4 | |         do_something();
5 | |     }
  | |_____- help: try placing this code inside a block: `{ a <- { do_something(); }; }`

这条消息建议我将它放进一个块中,但是我不知道如何做到。
1个回答

151

Rust没有这样的运算符。你可以使用String::contains方法代替:

if a.contains("bc") {
    do_something();
}

如果我想查看一个字符串是否包含一个或多个大写字母,该怎么办? - g.delgado
12
你应该单独发布那个问题。个人建议使用正则表达式来解决。 - Kevin Hoerr
6
如果其他人看到这段话,你可以使用thing.contains(['A', 'B', 'C])来检查thing中是否包含大写字母A、B或C。 - David
我怎样才能获得索引呢? - ihsan
我怎样才能获得索引呢? - undefined
如果你查看文档,会发现有一个String::find方法,它可以返回字符或完整字符串模式的索引。 - Kevin Hoerr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接