@Lici

Как распарсить сложную строку на Swift?

Есть строка вида:

{тут может быть текст} и тут может быть текст {и тут} {и тут} {и просто пробелы между ячейками}


И в итоге это упаковать в массив:
"тут может быть текст"
" и тут может быть текст "
"и тут"
" "
"и тут"
" "
"и просто пробелы между ячейками"


Грубо говоря все, что внутри скобок и все, что вне скобок - в элементы массива

var firstBlockStruct = Array<String>()

Я уже начинаю подумывать о замене символов } на { и потом
for c in incomeText {
    if (c == "}") {c = "{"}
}

firstBlockStruct = split(incomeText) {$0 == "{"}


Но не знаю как заменить определенный символ в строке на другой.
  • Вопрос задан
  • 2093 просмотра
Решения вопроса 2
swift не знаю, но с учётом вашего "и потом" предлагаю:
split(incomeText) {$0 == "{" || $0 == "}"}
Ответ написан
Комментировать
ManWithBear
@ManWithBear
Swift Adept, Prague
Смотрите в сторону использования функции
- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator


UPD. Последние ваши 3 вопроса решаются гуглом и чтением документации.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@capitan_of_the_mr
func replace (var str:String, var replace:Character, var replaced:Character) -> String{
        var str1 = ""
        println(str)
        for Character in str{
            var i = Character
            if i == replace{
                i = replaced
            }
            
            str1.append(i)
        }
    
    println(str1)
    return str1
    } // Функция замены символов в строке
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы