【问题标题】:remove \\u{e2} characters from string从字符串中删除 \\u{e2} 字符
【发布时间】:2018-04-20 09:30:23
【问题描述】:

我从联系人那里复制了手机号码。我得到它就像 "8008708600\u{e2}" 。我希望从字符串中删除 \u{e2} 。字符串是用我不想要的指数字符复制的。

例如:“8008708600\u{e2}” 所以想要的输出是 8008708600

我使用了以下代码

let formattedString = string.replacingOccurrences(of: " \\u{e2}”, with: "")

任何帮助将不胜感激,非常感谢!

【问题讨论】:

  • string.replacingOccurrences中的字符串前有一个空格用于替换。
  • 所以你没有使用这个得到输出。?
  • 数字是固定长度的吗?
  • 您在字符串中使用了额外的反斜杠,因此它不会替换您的字符串。所以从中删除一个反斜杠()并得到输出。享受吧。
  • 锁定这个........stackoverflow.com/a/54668625/3325024谢谢

标签: swift string swift3


【解决方案1】:

我做了一个函数求助:

public func formatContactsPhoneNumber(number: String) -> String {
    var buffer = ""
    for (i, char) in number.unicodeScalars.enumerated() {
        guard CharacterSet.decimalDigits.contains(char) else {
            continue
        }
        buffer.append(number[i])
    }
    return buffer
}

这对我来说很好用。

【讨论】:

  • 这可以简化为String(number.unicodeCharacters.filter { CharacterSet.decimalDigits.contains($0) }),或者,string.replacingOccurrences(of: " [^0-9]", with: "", options: .regularExpression)
【解决方案2】:

我使用了以下代码:

 var str = "8008708600\u{e2}"
 str = str.replacingOccurrences(of: "\u{e2}", with: "")
 print(str)

输出:

希望这会有所帮助。

【讨论】:

    【解决方案3】:

    代码:

    var number = self.yourTextField.text
    
    self.yourTextField.text = ""
    let onlyDigits: CharacterSet = CharacterSet.decimalDigits.inverted
    let greeting = number!
    number = ""
    for aa in 0..<greeting.count {
        let index = greeting.index(greeting.startIndex, offsetBy: aa)
    
        let bb = String(describing: greeting[index])
    
        if bb.rangeOfCharacter(from: onlyDigits) == nil {
            number = "\(String(describing: number!))\(greeting[index])"
        }
    }
    
    self.yourTextField.text = number!
    

    【讨论】:

    • 欢迎来到 Stack Overflow。虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。 Tips on How to Answer
    猜你喜欢
    • 2017-07-09
    • 2013-10-31
    • 2017-02-20
    • 1970-01-01
    • 2019-05-30
    • 2016-07-26
    • 2013-09-18
    相关资源
    最近更新 更多