Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Swift中使用regex_Swift_Regex_String - Fatal编程技术网

在Swift中使用regex

在Swift中使用regex,swift,regex,string,Swift,Regex,String,我试图替换Swift中字符串中出现的所有空格和特殊字符 我不知道斯威夫特的正则表达式是什么 我正在尝试使用内置函数.replacingOccurences(of:)并将我的正则表达式作为字符串协议传入,在代码编译时,不会进行任何更改 网上有很多关于如何替换Swift中出现的问题的资源,但是,解决方案远比nessacary复杂 如何正确返回此输出(当前策略): 你可以用 return word.replacingOccurrences(of: "\\W+", with: "", options:

我试图替换Swift中字符串中出现的所有空格和特殊字符

我不知道斯威夫特的正则表达式是什么

我正在尝试使用内置函数.replacingOccurences(of:)并将我的正则表达式作为字符串协议传入,在代码编译时,不会进行任何更改

网上有很多关于如何替换Swift中出现的问题的资源,但是,解决方案远比nessacary复杂

如何正确返回此输出(当前策略):

你可以用

return word.replacingOccurrences(of: "\\W+", with: "", options: .regularExpression)
请注意
选项:.regularExpression
参数,该参数实际上在
.replacingOccurrences
方法中启用基于正则表达式的搜索

您的模式是
[^\w]
。它是一个否定字符类,匹配除单词char以外的任何字符。因此,它等于
\W

/…/
是正则表达式分隔符。在Swift正则表达式中,它们被解析为文本正斜杠,因此您的模式不起作用

g
是一个“全局”修饰符,让正则表达式引擎匹配多个匹配项,但它只在受支持的地方工作(例如在JavaScript中)。由于Swift正则表达式中不支持正则表达式分隔符,因此正则表达式引擎知道如何通过定义进行操作:

返回一个新字符串,在该字符串中,接收方中目标字符串的所有出现项都被另一个给定字符串替换


如果需要检查ICU-ReX语法,考虑引用,它是在SWIFT/Objul-C.</P> < P>中使用的正则表达式库,此外,还可以扩展字符串并完成相同的位。但如果是家庭作业,他们说要坚持下去

var word = "Hello World!!!"

extension String {
    func regEx() -> String {
        return self.replacingOccurrences(of: "\\W+", with: "", options: .regularExpression, range: nil)
    }
}

word.regEx()

使用
“\\W+”
…有类似于swift的网站吗?swift使用ICU regex库,我不知道有任何在线regex测试仪支持它,但PCRE很接近,尽管有相当大的差异。您需要将选项设置为
。regularExpression
是的,我现在正在测试它,并准备更新。
var word = "Hello World!!!"

extension String {
    func regEx() -> String {
        return self.replacingOccurrences(of: "\\W+", with: "", options: .regularExpression, range: nil)
    }
}

word.regEx()