我正在使用二维码并在扫描后获取用户名,eventtitle和ticketcode。我需要在三个不同的字符串中分别获取这些值,以便我可以将它们保存在sqlite中。我只想知道如何进行这种分离,我可以做到省钱。 提前谢谢。
答案 0 :(得分:1)
- (void)saveData {
sqlite3_stmt *statement;
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
{
NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO CONTACTS (name, address, phone) VALUES (\"%@\", \"%@\", \"%@\")", @"NameString", @"Address", @"Phone"];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE)
{
NSLog(@"Success");
} else {
NSLog(@"Failed");
}
sqlite3_finalize(statement);
sqlite3_close(contactDB);
}
}
注意强> 如果你发布了你得到的字符串类型,我将添加你如何分割它。 下面是如何分割
的示例NSArray arrResult = [str componentsSeparatedByString:@"-"];
或按字符集
NSString* str = @"A string with newlines in it";
NSArray *arrTemp = [str componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
答案 1 :(得分:0)
您可以使用componentsSeparatedByString
NSString *str = @"userName:Password:etc";
NSArray* parts1 = [str componentsSeparatedByString:@":"];
NSLog(@" [[parts1 objectAtIndex:0] integerValue]=%d", [[parts1 objectAtIndex:0] integerValue]);
//the output will be: username for index 0, and so on