ios - 删除两个或多个 '\r' '\n' 的出现

标签 ios swift string

如何将字符串中多次出现的 \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

不应删除单个或两个实例。

试过这个 code :

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: "")

最佳答案

为了只删除三个到更多的匹配项,您应该将匹配模式从 [\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: "")

关于ios - 删除两个或多个 '\r' '\n' 的出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52128237/

相关文章:

java - 使用 Stream 将逗号分隔的字符串转换为数组

ruby - rails 中 link_to 描述中的条件

swift - 将搜索栏添加到表格 View

java - 如何解析正弦函数?

ios - 无法使用类型为“(快照 : (DataSnapshot)) Swift 3) 的参数列表调用类型 'User' 的初始值设定项

ios - 转到下一个 ViewController 时 AudioPlayer 播放

ios - Xcode 7.3 缺少私有(private)框架

objective-c - c, obj c 没有标签或标识符的枚举

ios - Swift 图片上传保存为 mime_type "data"

swift - Firebase 并在 Swift 中查询一个术语