2015-10-16 37 views

回答

2

更新雨燕4.0或更高

因爲字符串的變化也成爲一個集合,這個答案可以縮短到

let difference = zip(x, y).filter{ $0 != $1 } 

爲SWIFT版本3. *

let difference = zip(x.characters, y.characters).filter{$0 != $1} 

enter image description here

1

你或許應該更新的問題,不同的指定,如果你正在尋找字符不存在於另一個字符串中,或​​者如果您確實想知道這些字符串是否不同並從哪個索引開始。

要獲得的獨特角色,只有在一個字符串時存在一個列表,你可以做這樣的設置操作:

let x = "A B C" 
let y = "A b C" 
let setX = Set(x.characters) 
let setY = Set(y.characters) 
let diff = setX.union(setY).subtract(setX.intersect(setY)) // ["b", "B"] 

如果你想知道的字符串開始不同的指數,對字符進行循環並按索引比較字符串索引。你

0

簡單的例子:

let str1 = "ABC" 
let str2 = "AbC" 

//convert strings to array 
let str1Arr = Array(str1.characters) 
let str2Arr = Array(str2.characters) 

for var i = 0; i < str1Arr.count; i++ { 
    if str1Arr[i] == str2Arr[i] { 
     print("\(str1Arr[i]) is same as \(str2Arr[i]))") 
    } else { 
     print("\(str1Arr[i]) is Different then \(str2Arr[i])") //"B is Different then b\n" 
    } 
} 

測試了操場。

相關問題