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

Swift:使用CharacterSet.whitespacesAndNewlines移除空白字符编译报错求解决方案

解决方法

你写的代码编译失败,是因为replacingOccurrences(of:with:)方法要求第一个参数必须符合StringProtocol(比如String类型),但CharacterSet并不满足这个要求,所以报错。

下面是两种简单实现移除所有空白和换行字符的方法:

方法一:使用components(separatedBy:) + joined()

这是最直观的写法,利用字符集分割字符串后重新拼接:

let cleanedString = myString.components(separatedBy: .whitespacesAndNewlines).joined()

原理:components(separatedBy:)会把原字符串中所有属于whitespacesAndNewlines的字符作为分隔符,将字符串拆分成不含空白的子字符串数组,再通过joined()把数组元素无缝拼接成新字符串。

方法二:使用正则表达式替换

利用正则匹配所有空白类字符,直接替换为空:

let cleanedString = myString.replacingOccurrences(of: "\\s", with: "", options: .regularExpression)

原理:正则表达式\\s会匹配所有空白类字符(包括空格、换行、制表符等),通过.regularExpression选项告诉方法按正则规则匹配替换。

内容的提问来源于stack exchange,提问作者Ilias Karim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:41:01