Swift是否原生支持以字符串而非单个字符分割字符串?
在Swift中原生按指定字符串分割字符串的方法
嘿,这个问题问得好!其实在Swift 5及更高版本里,已经原生支持按任意字符串分割字符串了,完全不用依赖NSString或者自己手动写扩展~
针对你给出的示例,直接用components(separatedBy:)方法就能实现需求:
let inputString = "This123Is123A123Test" let splits = inputString.components(separatedBy: "123") // splits 的值就是 ["This", "Is", "A", "Test"]
补充说明:
- 这个方法是Swift标准库为
String类型提供的原生方法,参数接受符合StringProtocol的类型(比如字符串字面量、String变量甚至Substring),使用起来非常灵活。 - 如果需要更复杂的分割规则(比如忽略大小写、按正则匹配分割),还可以结合
CharacterSet或者NSRegularExpression来实现,但针对你说的「按固定字符串分割」的场景,components(separatedBy:)完全够用。 - 之前可能有开发者觉得这个方法是桥接自
NSString的,但现在它已经完全融入Swift的原生API体系,直接调用即可,不需要额外的类型转换。
内容的提问来源于stack exchange,提问作者Mark A. Donohoe
相关产品推荐
相关产品推荐

