#ios #swift
#iOS #swift
Вопрос:
Почему я могу это сделать
let dataArray = data.characters.split{$0 == ";"}.map(String.init)
и это
let dataArray = self.dataIn.characters.split{$0 == "rn"}.map(String.init)
но я не могу этого сделать?
let dataArray = data.characters.split{$0 == "; "}.map(String.init)
Я хочу найти строку
"; "
Ответ №1:
Итак, вы разделяете символы здесь, поэтому ваш « $0
» — это Character
тип. Это означает, что он никогда не может быть равен несимвольному объекту. "; "
является строкой, поскольку это не один символ.
При этом, если вы только пытаетесь разделить строку на "; "
, вам следует просто использовать строку components(separatedBy:)
:
let dataArray = data.components(separatedBy: "; ")
Комментарии:
1. отлично. Спасибо. Когда я изначально искал это в Google, и даже сейчас я получаю решение characters.split в верхней части моего поиска. Кажется, это работает с » r n», поэтому я немного смущен.
2.
rn
на самом деле соответствует только символам новой строки, поэтому он по-прежнему одинCharacter
. Напримерnn
, не будет работать, поскольку это два «символа».