Проверьте, содержит ли строка специальные символы в Swift

Лучший ответ, который я слышал при задании таких вопросов:

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

23
задан Pang 22 May 2017 в 06:56
поделиться

1 ответ

Ответ Mahendra может быть разделен вниз немного при помощи инверсии (^) в рамках regex пункта. Кроме того, Вам не нужны A-Z и a-z при использовании нечувствительной к регистру опции, поскольку Swift покрывает ту возможность для Вас:

extension String {

  func containsSpecialCharacters(string: String) -> Bool {
        
        do {
            let regex = try NSRegularExpression(pattern: "[^a-z0-9 ]", options: .caseInsensitive)
            if let _ = regex.firstMatch(in: string, options: [], range: NSMakeRange(0, string.count)) {
                return true
            } else {
                return false
            }
        } catch {
            debugPrint(error.localizedDescription)
            return true
        }
    }
0
ответ дан 28 November 2019 в 06:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: