Удалить два или более Вхождения '\ r' '\ n' - PullRequest
0 голосов
/ 01 сентября 2018

Как заменить более двух вхождений \r & \n на одно в строке?

если образец строки Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec blandit magna et quam maximus elementum et id ex.\r\n Donec luctus massa ut sapien consectetur blandit. Maecenas vehicula ex odio, eu sollicitudin felis vehicula sed. \nPhasellus hendrerit neque volutpat urna fermentum, eget cursus erat finibus. \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n

не должен удалять одно или два вхождения.

Пробовал этот код :

let regex = try! NSRegularExpression(pattern: "[\r\n]+", options: NSRegularExpression.Options.caseInsensitive)
let range = NSMakeRange(0, sampleString.count)
let modString = regex.stringByReplacingMatches(in: sampleString, options: [], range: range, withTemplate: "")

1 Ответ

0 голосов
/ 01 сентября 2018

Чтобы удалить только три или более экземпляров, вы должны изменить соответствующий шаблон с [\r\n]+ на (\r\n){3,}.

Таким образом, приведенный выше код должен стать

let regex = try! NSRegularExpression(pattern: "(\r\n){3,}", options: NSRegularExpression.Options.caseInsensitive)
let range = NSMakeRange(0, sampleString.count)
let modString = regex.stringByReplacingMatches(in: sampleString, options: [], range: range, withTemplate: "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...