У меня есть набор строк, которые я получаю от службы, и мне нужно изменить текст, чтобы извлечь и удалить 3 типа ссылок, как указано ниже.
anchor - [anchor:info]Account Details[/anchor]
action - [action:contact]Contact info[/anchor]
link-to - [link-to:register]Create An Account[/link-to]
Пример полного текста из сервиса:
- "Возникла проблема с вашим
[anchor:info]Account Details[/anchor]
." - "Возникла проблема с вашим
[anchor:rewards]Sign Up For Rewards[/anchor]
." - «Мы не узнали эту учетную запись. Введите свой адрес электронной почты еще раз или
[link-to:register]Create An Account[/link-to]
».
И ожидаемый результат должен быть:
- «Возникла проблема с данными вашей учетной записи».
- «Возникла проблема с вашей подпиской на вознаграждения».
- «Мы не узнали эту учетную запись. Введите адрес электронной почты еще раз или создайте учетную запись».
Я решил, что для этого воспользуюсь функцией replaceacingOccurrences. Но я не взломал регулярное выражение для нужного мне формата.
let aString = "There's a problem with your [anchor:info]Account Details[/anchor]."
let newString = aString.replacingOccurrences(of: "regex here", with: " ", options: .regularExpression, range: nil)
У меня может быть 3 отдельных регулярных выражения для соответствия 3 случаям или одно регулярное выражение, которое может обрабатываться ниже:
[any_link_type:any_identifier]Any Text[/any_link_type]
Могут ли мне с этим помочь какие-нибудь гуру регулярных выражений?