我在 Objective-C 中寻找一种简单的方法来在我的字符串的每 2 个字符之间添加一个空格。所以“12345678”看起来像“12 34 56 78”。
其他方式,将字符串(包含所有数字的 128 位长字符串)转换为每 2 个字符的数组。
有人知道可以帮助我吗?
谢谢。- 伊莱
我在 Objective-C 中寻找一种简单的方法来在我的字符串的每 2 个字符之间添加一个空格。所以“12345678”看起来像“12 34 56 78”。
其他方式,将字符串(包含所有数字的 128 位长字符串)转换为每 2 个字符的数组。
有人知道可以帮助我吗?
谢谢。- 伊莱
试试这个:
NSString *str = @"12345678";
NSMutableString *tempStr = [[NSMutableString alloc] init];
for (int position=0; position < str.length; position++) {
if(position%2==0)
{
[tempStr appendString:[NSString stringWithFormat:@"%c",[str characterAtIndex:position]]];
}
else
{
[tempStr appendString:[NSString stringWithFormat:@"%c",[str characterAtIndex:position]]];
NSLog(@"%@\n",tempStr);
[tempStr setString:@""];
}
}
[tempStr release];
试试这个:
NSString *str = @"12345678";
NSMutableString* mStr= [NSMutableString string];
for(NSUInteger i=0 ; i<str.length; i++)
{
[mStr appendString: [str substringWithRange: NSMakeRange(i,1)]];
if(i%2 && i!=0)
{
[mStr appendString: @" "];
}
}
NSLog(@"%@",mStr);
由于您似乎已经找到了解决方案,这只是另一个示例(并且不是一个特别有效的示例)如何完成它。此版本正确处理奇数个字符;
NSString *original = @"192190129";
NSMutableString *result = [NSMutableString stringWithCapacity:2*original.length];
for (int pos=0; pos < original.length; pos++) {
NSString *formatToAppend = (pos && !(pos & 1)) ? @" %C" : @"%C";
[result appendString:[NSString stringWithFormat:formatToAppend,
[original characterAtIndex:pos]]];
}
>>> "19 21 90 12 9"
如果您是初学者,自己编写(或至少阅读和理解)这样的代码是非常好的培训,并且有很多方法可以做到这一点,因此您可以尝试几种方法来查看您喜欢的代码风格。