我的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
?
答案 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)