Как удалить символ '\ u {ef}' из String Swift - PullRequest
0 голосов
/ 19 октября 2018

Допустим, у меня есть строка

var a = "#bb #cccc #ddddd\u{ef}" 

, и я устанавливаю ее для textview следующим образом

let text = a.trimmingCharacters(in: .whitespacesAndNewlines)
let textRemoved = text?.replacingOccurrences(of: "\u{ef}", with: "", options: NSString.CompareOptions.literal, range:nil)
textView.text = textRemove

Я пытаюсь удалить здесь символ \u{ef}.Но в textRemoved этого не происходит.Пожалуйста, помогите мне, как это сделать.

Я использую Xcode 10. Похоже, ниже версия Xcode, чем 10 работает нормально.это ошибка Xcode 10?

Ответы [ 5 ]

0 голосов
/ 01 июля 2019

Это поздний ответ, но я изо всех сил пытался заменить "\ u {ef}" в строке.Во время отладки при наведении курсора на строку показывалось наличие \ u {ef}, но при печати в описании показывалось только пространство.

let str = "\u{ef} Some Title"
print(str) //" Some Title"

Я пытался replacingOccurrences(of: "\u{ef}", with: "", options: NSString.CompareOptions.literal, range: nil).trimmingCharacters(in: .whitespaces), но он тоже не удался.

Поэтому я использовал приведенный ниже фрагмент, и он работал как чудо.

 let modifiedStr = str.replacingOccurrences(of: "\u{fffc}", with: "", options: NSString.CompareOptions.literal, range: nil).trimmingCharacters(in: .whitespaces)
print(modifiedStr)  //"Some Title"

Надеюсь, это кому-нибудь поможет !!

0 голосов
/ 19 марта 2019

Я попробовал следующее, и это сработало как шарм:

replacingOccurrences(of: "�", with: " ", options: NSString.CompareOptions.literal, range: nil)
0 голосов
/ 19 октября 2018

Я также столкнулся с той же проблемой для "\ u {e2}" .Я много искал, но не смог найти ответа.тогда я попробовал приведенный ниже код, который работает для меня.

var newString = ""
for char in strMainString.unicodeScalars{
    if char.isASCII{
        newString += String(char)
    }
}

Надеюсь, что это также будет работать для вас.

0 голосов
/ 19 октября 2018

В Xcode 10 Playground работает строка, заменяющая \u{00EF}.

var a = "#bb #cccc #ddddd\u{ef}" 
a = a.replacingOccurrences(of: "\u{00EF}", with: "")

Надеюсь, это сработает для вас.

0 голосов
/ 19 октября 2018

Это работает Пожалуйста, проверьте еще раз:

 let a = "#bb #cccc #ddddd\u{ef}"
 let text = a.trimmingCharacters(in: .whitespacesAndNewlines)
 let textRemoved = text.replacingOccurrences(of: "\u{ef}", with: "", options: NSString.CompareOptions.literal, range:nil)
 print(textRemoved)

enter image description here

...