裏面我有一個包含幾個字符串像下面這樣的大串:在字符串的結尾添加一個字符串特定字符串的String
http://website.com/image.jpg
,我想補充?w=100
他們每個人。
到目前爲止,我曾想過創建一個正則表達式,每次遇到該字符串時,它都會將其替換爲相同的字符串,並將其添加到?w=100
中。
這裏是String
的擴展,替換字符串:
public func stringByReplacingMatches(matchRegEx: String, withMatch: String) -> String {
do {
let regEx = try NSRegularExpression(pattern: matchRegEx, options: NSRegularExpressionOptions())
return regEx.stringByReplacingMatchesInString(self, options: NSMatchingOptions(), range: NSMakeRange(0, self.characters.count), withTemplate: withMatch)
} catch {
fatalError("Error in the regular expression: \"\(matchRegEx)\"")
}
}
這是我如何使用它:
myString.stringByReplacingMatches("https:\\/\\/website\\.com\\/[\\w\\D]*.jpg", withMatch: "https:\\/\\/website\\.com\\/[\\w\\D]*.jpg?w=100"))
問題,這是我替換字符串後得到:
https://website.com/[wD]*.jpg?w=100
我該如何解決我的問題?
爲什麼你需要一個捕獲組,如果你可以使用'$ 0'來插入匹配的字符串? – paulvs
@paulvs我更喜歡明確。 「$ 0」可行,但不夠靈活。 –
它的工作表示感謝,但僅限於最後一次發生。我怎樣才能使它適用於我的大串中的所有事件?我想正則表達式很好,這可能是函數。 – Nico