Я ищу способ определения года, например 2019. Я думаю, что требования состоят в том, чтобы числа были в строке, имели четыре цифры и не примыкали к буквам или специальным символам.Поэтому я хотел бы получить метод для возврата «2019» в каждом из следующих случаев:
"2019"
"in 2019
"Before 2019, all IOS apps were written in one of 2 ways"
Но исключить его из:
"1234z20191234
Есть много способовдля определения чисел в строке как , видимых здесь , таких как
let newString = origString
.components(separatedBy:CharacterSet.decimalDigits.inverted)
.joined(separator: "")
Но они не вытаскивают каждую серию чисел, чтобы проверить длину и смежность.
Детектор данных может попытаться вытащить дату, но переход от возможной даты к году, который мог быть в начальном тексте, кажется ошибочным, например, при работе с чем-то вроде:
“2018-08-31 04:00:00 +0000”, “America/Los_Angeles”, 18000.0
Кто-нибудь может предложить надежный способ получить числовой год из строки?