我試圖找到一個字符串是否在從文件中讀取的單詞列表中。這是我迄今爲止所擁有的。內容?[索引]似乎工作。但循環/可選的東西導致事情不起作用。Swift循環遍歷列表
此外,還有一個效率問題。把一個列表放在字典裏,並且把第一個字母或其他東西放在鍵上可能會更好嗎?然後嘗試使用相同的密鑰來查看該對象是否存在,而不是每次循環遍歷整個列表。
let testString = "Hello"
let path = NSBundle.mainBundle().pathForResource("wordlist", ofType: "txt")
var content = String.stringWithContentsOfFile(path, encoding: NSUTF8StringEncoding, error: nil)?.componentsSeparatedByString("\n")
let count = content?.count
for word in 0..<count
{
if testString == content?[word]{
// fount word}
}
它抱怨count是int嗎?而不是int。感謝有關如何最好地工作的建議。
這解決了我的循環問題,但它似乎有與平等測試問題。它找不到列表中的單詞。 VAR的TestString = 「HELLO」 如果讓計數=內容?.Count之間{ 在0字.. <計數 { 如果的TestString ==內容?[字] .uppercaseString || testString == content?[word] .lowercaseString {「找到的單詞:\(testString)」) } } } println(「要測試的字符串\(testString)和\(content?[3]。大寫字符串)「) –
如果我直接指定testString說內容[3]它找到匹配,但不是如果我只是手動輸入字符串。 –
你使用非ASCII字符嗎?比較之前您是否嘗試過修剪?嘗試閱讀本博客文章,看看它是否適用於您的情況:http://oleb.net/blog/2014/07/swift-strings/ – Antonio