2016-07-15 87 views
0

您好我有一個值,該值是獨立值

塊引用 1 1:0.0644343 1 1:0.0309334 1 1:0.0261616 塊引用

我想單獨的空間值,但在某些字符後得到像這樣的結果..有任何可能的解決方案。我知道我們可以在正則表達式做

塊引用 「1 + 1:0.0644343」 「1 + 1:0.0309334」 「1 + 1:0.0261616」 大段引用

+0

因爲不是所有的空格都會產生分離,所以你說的是某種詞法分析器(或者上帝禁止的解析器)。在那種情況下,爲什麼不是正則表達式? – Feldur

回答

1

我覺得正則表達式是一個完美的工具這裏:

var str = "Blockquote 1 1:0.0644343 1 1:0.0309334 1 1:0.0261616 Blockquote" 

let regex = try! NSRegularExpression(pattern: "(\\d \\d:[\\.0-9]+)", options: []) 
let matches = regex.matchesInString(str, options: [], range: NSMakeRange(0, str.characters.count)) 

for m in matches.reverse() { 
    let range = m.rangeAtIndex(1) 
    let startIndex = str.startIndex.advancedBy(range.location) 
    let endindex = startIndex.advancedBy(range.length) 
    let value = str[startIndex..<endindex] 

    str.replaceRange(startIndex..<endindex, with: "\"\(str[startIndex..<endindex])\"") 
} 

print(str) 
+0

完美。保存了我的生活 – Davin