如何在Swift中的圓括號之間獲得文本的字符串值數組?在Swift中的圓括號之間查找文本
例如來自:MyFileName(2015)(Type)(createdBy).zip
我想:[2015,Type,createdBy]
如何在Swift中的圓括號之間獲得文本的字符串值數組?在Swift中的圓括號之間查找文本
例如來自:MyFileName(2015)(Type)(createdBy).zip
我想:[2015,Type,createdBy]
您可以使用正則表達式這個
Thomas有一個很好的例子:\((.*?)\)
如何同時使用正則表達式斯威夫特你可以看看:http://www.raywenderlich.com/86205/nsregularexpression-swift-tutorial
這是我的RegEx 這實際上是試圖讓括號之間的單詞。例如。 (微笑)
NSRegularExpression(pattern: "\\\\(\\\w+\\\\)",options:NSRegularExpressionOptions.CaseInsensitive)
它適合我!
以下是在夫特2
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 []
}}
和使用一個完整的例子:
let regex = "\\((.*?)\\)"
matchesForRegexInText(regex, text: " exmaple (android) of (qwe123) text (heart) between parentheses");
該函數看起來像來自https://stackoverflow.com/a/27880748/1187415的逐字拷貝。 –
只要更新所述選擇的回答夫特3:
func matchesForRegexInText(regex: String!, text: String!) -> [String] {
do {
let regex = try NSRegularExpression(pattern: regex, options: [])
let nsString = text as NSString
let results = regex.matches(in: text,
options: [], range: NSMakeRange(0, nsString.length))
return results.map { nsString.substring(with: $0.range)}
} catch let error as NSError {
print("invalid regex: \(error.localizedDescription)")
return []
}}
用法保持相同。
我相信你要找的詞是「圓括號」。 ;-) –
正則表達式:'\((。*?)\)' –
@Thomas:您應該發表您的評論作爲答案。如果您使用Swift/Cocoa正則表達式示例進行詳細說明,可以獲得獎勵積分。 :-) –