iOS String: 通过CharacterSet去除前缀和后缀

iOS String: remove prefix and suffix by CharacterSet

对于 Swift 中的给定 String,我需要删除属于预定义字符集的前缀和后缀字符。 我可以将 components(separatedBy:) 与字符集一起使用,并去掉组件数组开头和结尾的空字符串。只是想知道是否有更好的方法?

谢谢!

您可以在字符串上使用 .trimmingCharacters(in: CharacterSet)。来自 Xcode 中关于此函数的 'help' 文本:"Returns a new string made by removing from both ends of the String characters contained in a given character set."

这是一个使用自定义字符集的单元测试示例。请注意,它只删除开头和结尾的字符,而不是中间的字符(逗号保留):

import XCTest
class TrimCharacters: XCTestCase {
    func testExample() throws {
        let string = "abcbaHello, World!ccbbaa"
        let charactersToTrim = CharacterSet(charactersIn: "abc,")
        XCTAssertEqual(string.trimmingCharacters(in: charactersToTrim), "Hello, World!")
    }
}

还有一些有用的预定义字符集。您还可以反转字符集。参见 CharacterSet