You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:59:21