在我的字符串末尾附加一个字符后,添加了不需要的 space 。我该如何删除它?

After appending a character to the end of my string, an unwanted space is added. How do I remove this?

在下面的 textView 函数中,每次用户按下 space 栏时,我都会将“#”字符附加到字符串的末尾。但是,不需要的 space 出现在附加字符之后。我已经使用函数删除字符串末尾的 whitespaces 但这些没有帮助。此外,我还尝试使用 removeLast() 删除字符串的最后一个字符,但这只会删除“#”字符本身。请帮忙!我正在使用 swift 4.2.

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    if text == " " {
        textView.text.append(("#"))
        //textView.text.removeLast()
    }
    if text == "\n" {
        textView.resignFirstResponder()
        return false
    }
    return true
}

发生这种情况是因为您要附加字符,然后 return 为真(在所有情况下,换行除外)。

如果您在附加字符后 return 为 false,它应该可以按您希望的方式工作。

试试这个:

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    if text == " " {
        textView.text.append(("#"))
        return false
    }
    if text == "\n" {
        textView.resignFirstResponder()
        return false
    }
    return true
}