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
对于 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