我很不习惯使用swift进行编码,对我来说这是非常新的(更习惯于在Java或c#上进行编码)。
我正在尝试在其他语言上做一些非常“简单”的事情,但我没有成功过滤,因为我想要一个字符串,这是代码:
let id = self.Id.text
let pass = self.Pass.text
let documentDirectoryURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first! as! NSURL
let fileDestinationUrl = documentDirectoryURL.URLByAppendingPathComponent("file.txt")
let text = "Identifiant: " + id + "\n" + "Password: " + pass
text.writeToURL(fileDestinationUrl, atomically: true, encoding: NSUTF8StringEncoding, error: nil)
我的代码的第一部分写在文本文件数据上,这是文本文件返回的内容:
Identifiant: testId
Password: testPass
我想要检索id
获取的内容以及pass
获得的内容(在本例中为testId和testPass ..):
let startIndex = advance(text.startIndex, 14)
let endIndex = advance(startIndex, "to the \n character?")
//From the : to the \n, and then from the other : to the end, like shown after with Java code
let range = startIndex..<endIndex
var idFinal = text[range]
这是我被封锁的地方。我找到了从某个角色(这里是第14个)过滤的方法,但是我找不到停在具有未知位置的已定义角色的方法。如果有人知道我应该做什么而不是"to the \n character"
使用Java,我这样做了:
String ligne;
while((ligne = br1.readLine()) != null){
if(ligne.startsWith("Identifiant: ")){
System.out.println(ligne);
id = ligne.substring(ligne.lastIndexOf(':')+2);
}
if(ligne.startsWith("Pass: ")){
System.out.println(ligne);
pass = ligne.substring(ligne.lastIndexOf(':')+2);
}
}
这可以用swift吗? 我希望自己足够精确,如果需要,我可以添加代码或解释。
提前致谢。