Swift 如何移除句子中的首个单词及伴随空格
Swift 移除字符串首个完整单词及后续空格的实现方法
你之前掌握的removeFirst()是移除字符串单个首字符的实现,无法满足移除「首个完整单词+附带后续空格」的需求,针对目标场景可以参考以下两种可落地的实现方案:
高适配基础实现(单空格分隔场景)
如果输入字符串的首个单词和后续内容之间仅间隔单个空格,可以通过定位首个空格的索引位置直接截断,性能最优:
var data = "CITY Singapore" // 定位字符串中第一个空格的位置 if let firstSpaceIndex = data.firstIndex(of: " ") { // 截取空格下一个字符位置到字符串末尾的内容 data = String(data[data.index(after: firstSpaceIndex)...]) } print(data) // 输出结果:Singapore
鲁棒性通用实现(兼容多空格/前置空格场景)
如果输入存在「首个单词后跟随多个连续空格、字符串开头带多余空格」的不规则情况,基于空白符分割的方案可以覆盖所有边界场景,不会残留多余空格:
let data = "CITY Singapore" // 示例中CITY后附带3个连续空格 // 按任意空白字符分割,自动过滤分割产生的空元素 let components = data.split(whereSeparator: \.isWhitespace) // 跳过首个单词,将剩余部分重新拼接为标准格式字符串 let result = components.dropFirst().joined(separator: " ") print(result) // 输出结果:Singapore
边界提示:需要对「字符串不存在任何空格」的极端场景做判空处理,避免字符串索引越界触发运行时崩溃。
内容的提问来源于stack exchange,提问作者IskandarH
相关产品推荐
相关产品推荐

