Swift 5中的简单字符串处理功能

Mic*_*hel 2 string ios swift

在Swift 5中,我需要一个非常特殊的(小)功能。

该函数将使用任意字符串作为参数,有关该参数的唯一已知信息是它至少包含字符“ a”或“ b”之一。该功能仅对字符“ a”和“ b”感兴趣,而忽略其他字符。如果最后找到的是“ a”,则返回“ a”,如果是“ b”,则返回“ b”。

例如,让f为该函数。

f("aaa") // returns a.
f("a3242avfvabbba54gg") // returns a.
f("abaagdfb") // returns b.
f("479wfwrvfb8709iho") // returns b.
Run Code Online (Sandbox Code Playgroud)

显然,编写这样的函数很容易,但是我想知道在Swift 5中使用最后一个API是否有一种特别干净的方法。

我找到了Stringlast(where :)方法,但是没有示例代码可以清楚地说明其用法。所以我不确定这是否是我要使用的。

Swe*_*per 9

您可以使用以下方法实现此功能last(where:)

func f(_ s: String) -> Character {
    return s.last(where: "ab".contains)!
}
Run Code Online (Sandbox Code Playgroud)

请注意,我曾经!强制打开包装,因为您说过总是会有一个aor b