2016-02-24 4 views
0

привет, у меня есть класс, который тянет все контакты. в отладчике я вижу номер телефона следующим образом: телефон String "\ U0000202a + 111 11-11-11111 \ U0000202c"потянув контактный номер телефона выпуск

Когда я его распечатаю, он отображает 111 11-11-11111.

из-за этого я не могу сделать stringByReplacingOccurrencesOfString("-", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range: nil)

любой идеи, почему это дает мне номера, как, что, и есть ли способ это исправить ??

p.s = я использовать язык, который справа налево является его случайно влияет на его

+0

Посмотрите это [Apple Doc] (https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/SupportingRight-To-LeftLanguages/SupportingRight-To-LeftLanguages.html) – MwcsMac

ответ

2

Да, это связано с вашим правом на левом языке. Коды:

0x202a LEFT-TO-RIGHT EMBEDDING
... который говорит компьютеру, что следующая строка должна идти слева направо.

0x202c POP DIRECTIONAL FORMATTING
... который сообщает компьютеру вернуться в предыдущее направление текста.

Как избавиться от них, я не знаю какого-либо конкретного метода, но вы должны просто использовать обычные манипуляции с строкой, чтобы устранить их, если они существуют.

EDIT: пример того, как вы могли обрезать их, используя stringByTrimmingCharactersInSet;

str = str.stringByTrimmingCharactersInSet(
      NSCharacterSet(charactersInString: "\u{202a}\u{202c}")) 
+0

вы можете дать мне пример кода? –

+0

@IgorSokolovsky Добавлен пример. –

+0

Спасибо, что работа отлично –