嘿,我有一個要求來增加我的UILables中用於雙重間隔換行符的間距。我想搜索我的字符串並找到所有以\n\n
開頭的字符串。 。例如,「Hello world\nI am on the next line\n\nNow I'm on the next line and it's spaced more than before\nNow I'm back to normal spacing"
遇到麻煩試圖找出這個正則表達式我想:在Swift中搜索以 n n開頭的字符串
let regExRule = "^\n\n*"
並將它傳遞給這個函數:
func matchesForRegexInText(regex: String, text: String) -> [String] {
do {
let regex = try NSRegularExpression(pattern: regex, options: [])
let nsString = text as NSString
let results = regex.matchesInString(text,
options: [], range: NSMakeRange(0, nsString.length))
return results.map { nsString.substringWithRange($0.range)}
} catch let error as NSError {
print("invalid regex: \(error.localizedDescription)")
return []
}
}
但是我得到一個空我不知道如何構造這個正則表達式模式,任何指針都會真正的讚賞,謝謝!
你希望字符串在'\ n'或兩個'\ n \ n'之間,因爲兩個'\ n \ n'只出現一次。 –
在您的示例字符串中嚴格說出,在兩個換行字符中沒有字符* *。順便說一句:在這種情況下將參數聲明爲隱式解包選項是無稽之談。 – vadian
@vadian你是對的。問題編輯。 – Kex