如何使用非标准ASCII字符

时间:2012-04-02 10:21:48

标签: iphone objective-c ios

在我的iPhone应用程序中,我需要使用非标准字符(不能直接使用键盘插入)作为字符串分隔符。然后我需要将该字符串存储在我的sqlite db中的列中。当我从数据库中读取该字符串时,我需要使用该特殊字符来分割该字符串。

例如,让Say#是一个非标准的char。然后我将创建新字符串作为'firstname#lastname',并存储到数据库中。然后我使用#来从数据库中分离出名字和姓氏。任何人都可以帮我做那个.. ??

2 个答案:

答案 0 :(得分:2)

使用firstName加入lastName#

NSString *fullName = [NSString stringWithFormat:@"%@#%@", firstName, lastName];

让他们回来:

NSArray *components = [myStr componentsSeparatedByString:@"#"];
NSString *firstName = [components objectAtIndex:0];
NSString *lastName = [components objectAtIndex:1];

您可以像使用任何其他角色一样使用#。如果您认为用户可能在名称中包含#,那么您可以使用Vignesh建议的更复杂的组合。像这样:

NSString *fullName = [NSString stringWithFormat:@"%@#?%@", firstName, lastName];
NSArray *components = [myStr componentsSeparatedByString:@"#?"];

编辑(评论后):如果要使用高于128的值,则可以使用%C修饰符轻松创建字符串。

NSInteger val = 140;
NSString *separator = [NSString stringWithFormat:@"%C", val];
NSString *fullName = [NSString stringWithFormat:@"%@%@%@", firstName, separator, lastName];
NSArray *components = [myStr componentsSeparatedByString:separator];

答案 1 :(得分:0)

据我所知,您需要一个分隔符来连接字符串。实际字符串中的分隔符使用不太可能。

我的想法是使用字符组合。对于前'#?'。