【问题标题】:filter String with empty String in if statement, iOS在 if 语句中使用空字符串过滤字符串,iOS
【发布时间】:2018-08-09 17:39:56
【问题描述】:

我正在开发自定义键盘。我在过滤字符串数组时遇到问题。我只想在if 语句中过滤数组,我有一个包含字母和空字符串的数组。我只想在if 语句中过滤数组,因为我想删除最后一个字符,而不是空字符串。

这是我的代码:

keyboardKeyStr = ["h", "e", "l", "l", "o", " ", "", "t", "h", "i", "s", "", "i", "s", " ", "m", "y", " ", "", "a", "r", "r", "a", "y", " "]

if range.length == 1 && text.count == 0 {
    print("Delete Button")

    let emptyStr: String? = ""
    keyboardKeyStr = keyboardKeyStr.filter {$0 != emptyStr}
    keyboardKeyStr.removeLast()
    keyboardKeyArr.append(keyboardView.deleteBtn)
    self.keyboardKeyStr.append("")
}

【问题讨论】:

  • 你的问题有点混乱。您应该添加一个示例数组和预期的结果。顺便说一句,您可以将text.count == 0 替换为text.isEmpty,将filter {$0 != emptyStr} 替换为filter {!$0.isEmpty},并删除let emptyStr 行。为什么将emptyStr 声明为可选但分配非可选值?不要注释比编译器可以推断的更差的类型。
  • 我已经编辑过了,数组是这样的
  • @SandrikaJanjghava 您没有包含预期的结果。 (您收到了什么结果,您希望得到什么结果,为什么?)

标签: arrays swift string filter


【解决方案1】:

试试这个keyboardKeyStr = keyboardKeyStr.filter{ $0 != "" && $0 != " "}

【讨论】:

  • 过滤器正在查找和删除,删除。我找到了 filterMap,效果很好
猜你喜欢
  • 2014-06-18
  • 1970-01-01
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-09
  • 2016-07-17
相关资源
最近更新 更多