Swift 3替换多个字符串的发生

时间:2017-01-04 02:21:05

标签: swift

我的JavaScript代码如下所示:

foo.replace(/(\r\n|\n|\r)/gm, "");

基本上这会从我的弦上剥去任何回程车厢和新线路。我想在Swift 3中做类似的事情。

我看到func replacingOccurrences(of target: String, with replacement: String, options: CompareOptions = default, range searchRange: Range<Index>? = default) -> String可用。问题是,这只需要of参数中的一个字符串。

这是否意味着我需要为上述每个实例多次调用该方法,一次用于\r\n,一次用于\n\,一次用于\r?无论如何有可能完成更接近正则表达式的工作,而不是三次调用replacingOccurrences

3 个答案:

答案 0 :(得分:8)

使用replacingOccurrences并将选项设置为regularExpression

let updated = foo.replacingOccurrences(of: "\r\n|\n|\r", with: "", options: .regularExpression)

答案 1 :(得分:2)

要替换非数字,您可以使用“\ D”作为正则表达式

let numbers = "+1(202)-505-71-17".replacingOccurrences(of: "\\D", with: "", options: .regularExpression)

您可以找到如何使用其他正则表达式here

答案 2 :(得分:-1)

这个很简单,就在文档中。

let noNewlines = "a\nb\r\nc\r".replacingOccurrences(of: "\r\n|\n|\r", with: "", options: .regularExpression)