我有一个函数编码为:
func deleteEnclosedString(s: String, startString s1:String, endString s2: String) -> String {
}
我想创建一个类
,它被子类化为String
,我在其中定义了一个函数并按如下方式使用它:
var myString = "A [typical] string"
myString.deleteEnclosedString(startString: "[", endString: "]")
最佳答案
您可以通过以下方式进行:
extension String {
func deleteEnclosedString (startString s1: String, endString s2: String) -> String {
return self.stringByReplacingOccurrencesOfString("\(s1)(.*)\(s2)", withString: "", options: .RegularExpressionSearch, range: nil)
}
}
扩展为现有类、结构或枚举类型添加新功能。这包括扩展您无权访问其原始源代码的类型的能力(称为追溯建模)。
您可以通过以下方式调用上述函数:
var rest = "A [typical] string".deleteEnclosedString(startString: "\\[", endString: "\\]")
上述函数是使用正则表达式去除传入的startString
和endString
中的单词的例子,仅供引用。
希望对你有帮助
关于string - 如何将函数添加到 Swift 作为 String 的扩展以简化使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29615094/