从Breaking Bad API获取数据后,如何去除字符串空格后的内容?
解决字符串截取第一个空格前内容的问题
核心需求
要移除字符串中第一个空格及之后的所有内容,仅保留空格前的部分。
可行的Swift实现方案
方案1:用prefix(while:)直接截取
遍历字符串直到遇到第一个空格就停止,直接获取目标前缀:
let trimmedName = actor.name.prefix(while: { !$0.isWhitespace }) Text(String(trimmedName)) .bold() .foregroundColor(.white) .multilineTextAlignment(.center) .padding(.horizontal)
方案2:拆分后取首个组件
通过拆分字符串获取数组,取第一个元素(同时兼容无空格的情况,避免报错):
let nameParts = actor.name.components(separatedBy: .whitespaces) let trimmedName = nameParts.first ?? actor.name // 无空格时返回原字符串 Text(trimmedName) .bold() .foregroundColor(.white) .multilineTextAlignment(.center) .padding(.horizontal)
之前方法的问题
actor.name.filter({!$0.isWhitespace}):会移除所有空格,比如"Walter White"会变成"WalterWhite",完全不符合需求。components(separatedBy: .whitespaces).joined(separator: " "):只是把连续空格合并成单个空格,根本没处理截取内容的需求。
内容的提问来源于stack exchange,提问作者Davencode
相关产品推荐
相关产品推荐

