2016-06-24 3 views
-3

Привет, ребята, у меня есть проблема, которую мне нужно решить. Ниже приведены примеры:Добавить расстояние между цифрами и цифрами

вход ABCD12345 будет выводить ABCD 12345

вход A12345BCDE будет выводить A 12345 BCDE

Imput является ABC 12345 будет выводить ABC 12345 (избыточное расстояние между удалены)

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

+1

Все, что вы пробовали до сих пор? А как насчет символов, знаков препинания, кавычек, ...? –

+2

Это похоже на вопрос «сделай мою домашнюю работу для меня» ... –

+0

На самом деле, я смотрю вокруг и искал регулярное выражение для этого (так как я плохо разбираюсь в этом), но я нашел только разделение на цифры или не цифры, не оба. Это зависит от того, кто захочет помочь, если вы не хотите помогать, так и должно быть – John

ответ

2

Чтобы выполнить то, что вы спросите вы можете сделать что-то вроде этого:

let letters = NSCharacterSet.letterCharacterSet() 
let digits = NSCharacterSet.decimalDigitCharacterSet() 
var res = "" 
var lastDigit = false 
for char in [input].unicodeScalars { 
    if letters.longCharacterIsMember(char.value) && lastDigit { 
     res += " " 
     lastDigit = false 
    } else if digits.longCharacterIsMember(char.value) && !lastDigit { 
     res += " " 
     lastDigit = true 
    } 
    if String(char) != " " { 
     res += String(char) 
    } 
} 
print(res) 

В коде выше вы должны заменить [input] пустышку с входом, который вы хотите иметь дело и строки результата будет res переменной ,

+0

Спасибо! Надеюсь, это тоже поможет другим – John

Смежные вопросы