尝试通过下一个示例了解游乐场出了什么问题:
let result = "+-----+".trimmingCharacters(in: CharacterSet(charactersIn: "+").inverted)
结果是“+ ----- +”
预期结果为“++”
由于方法引用“返回通过从给定字符集中包含的String字符的两端删除而生成的新字符串。”
符合我预期效果的例子:
let result = "D123ABC".trimmingCharacters(in: CharacterSet(charactersIn: "01234567890.").inverted)
结果是“123”
let result = "+-----+".trimmingCharacters(in: CharacterSet(charactersIn: "*").inverted)
结果是“”
答案 0 :(得分:2)
trimmingCharacters
仅替换尾随/前导字符。
如果您要替换所有不是"+"
的字符,您可以使用
"+-----+".replacingOccurrences(of: "[^+]", with: "", options: .regularExpression)
答案 1 :(得分:0)
同意rmaddy。 有关更多说明,请查看:
let result = "123+--+abc".trimmingCharacters(in: CharacterSet(charactersIn: "+").inverted)
结果:+ - +
let result = "+--+".trimmingCharacters(in: CharacterSet(charactersIn: "+").inverted)
结果:+ - +