【发布时间】:2021-06-30 20:14:46
【问题描述】:
我有一串单词和数学/编程使用的符号。例如,像这样:
let source = "a + b + 3 == c"
(注意:不能依赖空格)
我还有一个字符串数组,需要从源字符串中过滤掉:
let symbols = ["+", "-", "==", "!="]
现在,我需要创建一个匹配项的数组(有重复项)。在本例中为["+", "+", "=="]。
根据我的尝试,== 是两个字符,所以我不能执行以下操作:
let source = "a + b + 3 == c"
let symbols = CharacterSet(charactersIn: "+-=≠") // not '==' and '!=', but '=' and '≠' due to it being a CharacterSet
let operations = source
.map { String($0) }
.filter { char in symbols.contains(UnicodeScalar(char)!) }
print(operations)
// Output: ["+", "+", "=", "="]
// Needed: ["+", "+", "=="]
非常感谢任何帮助
【问题讨论】:
-
==真的用在数学里吗,我以为只用在编程语言里?
-
我应该添加那个细节,谢谢