我正在寻找一种简单的方法在Obj.C中为我的字符串的每个字符之间添加一个空格。所以“1234”会变成“1 2 3 4”。NSString填充/字符之间的空格
我已经在这里找到一个完美的JavaScript示例:https://stackoverflow.com/a/7437422/949538
有谁知道为Obj.C类似的东西? Kerning是iOS中的PITA,并且这终究是我所需要的...
想法/评论?
谢谢! - 德鲁
我正在寻找一种简单的方法在Obj.C中为我的字符串的每个字符之间添加一个空格。所以“1234”会变成“1 2 3 4”。NSString填充/字符之间的空格
我已经在这里找到一个完美的JavaScript示例:https://stackoverflow.com/a/7437422/949538
有谁知道为Obj.C类似的东西? Kerning是iOS中的PITA,并且这终究是我所需要的...
想法/评论?
谢谢! - 德鲁
试试这个:
NSString *string =[NSString stringWithString:@"1234"];
NSMutableArray *buffer = [NSMutableArray arrayWithCapacity:[string length]];
for (int i = 0; i < [string length]; i++) {
[buffer addObject:[NSString stringWithFormat:@"%C", [string characterAtIndex:i]]];
}
NSString *final_string = [buffer componentsJoinedByString:@" "];
这样做:
NSString *string =[NSString stringWithString:@"1234"];
NSMutableString *spacedString= [NSMutableString stringWithString:[NSString stringWithFormat:@"%C",[string characterAtIndex:0]]];
for(int i = 1; i<[string length];i++)
{
[spacedString appendString:[NSString stringWithFormat:@" %C",[string characterAtIndex:i]]];
}
为了正确地做到这一点,考虑到大卫Rönnqvist的评论中提到的问题,做这样的事情:
NSMutableString* result = [origString mutableCopy];
[result enumerateSubstringsInRange:NSMakeRange(0, [result length])
options:NSStringEnumerationByComposedCharacterSequences | NSStringEnumerationSubstringNotRequired
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){
if (substringRange.location > 0)
[result insertString:@" " atIndex:substringRange.location];
}];
你甚至可以将JavaScript转录成Obj-C(这是基本的!)。你有什么尝试? – Vervious