嗨我有两个阵列。
var firstArray = ["Hi", "Hello", "Mother"]
var secondArray = ["Yo", "Yee", "Father"]
现在说我做了一个println("我看到了约翰尼并说嗨")但它真的会用我的第二个字符串对象取代它,这是"哟"
所以几乎用第二个数组替换第一个数组中的所有内容,并且在任何时候有人在第一个数组中键入任何文字字符串时,它们会按照它们的顺序排列吗?我试图迅速做到这一点。我尝试使用stringByReplacingOccurrencesOfString循环遍历第一个数组,但我不确定如何在其中实现NSArray。有帮助吗?
如果我在下面做了怎么办?
var myString = "Hello this is a test."
var myDictionary = ["Hello":"Yo"]
for (originalWord, newWord) in myDictionary {
let newString = aString.stringByReplacingOccurrencesOfDictionary(myString, withString:newWord, options: NSStringCompareOptions.LiteralSearch, range: nil)
}
我仍然无法弄清楚如果我把它放入println("你好,你好吗?)如果它自动知道替换"你好"每次用" yo"进入println语句时
答案 0 :(得分:5)
您对使用字典的想法非常接近,您只需要继续替换myString
而不是每次都创建一个新字符串,并正确调用stringByReplacingOccurrencesOfString
:
var myString = "Hello this is a test."
var myDictionary = ["Hello":"Yo"]
for (originalWord, newWord) in myDictionary {
myString = myString.stringByReplacingOccurrencesOfString(originalWord, withString:newWord, options: NSStringCompareOptions.LiteralSearch, range: nil)
}
println(myString)
输出:
哟这是一个考验。
答案 1 :(得分:0)
如果数组中的对象符合Equatable协议(String确实符合),则可以使用find()
在操场上试试这个:
import UIKit
var firstArray = ["Hi", "Hello", "Mother"]
var secondArray = ["Yo", "Yee", "Father"]
var index = find(firstArray, firstArray[0])
println("first string: \(firstArray[0])")
println("replaced: \(secondArray[index!])")