如何在没有任何空格的情况下交换Objective c中的字符串?

时间:2016-11-15 12:17:26

标签: ios objective-c

我必须换掉一个字符串a =" abcd" to" cdab" STR =" 1234"至" 3412"。 我正在尝试,但它分裂了每个角色

for (int i=2; i < [hex length]; i++) {
    NSString *ichar  = [NSString stringWithFormat:@"%c", [hex characterAtIndex:i]];
    [characters addObject:ichar];
}

任何人都可以帮助我吗?如何分成两部分然后合并? 我从用户那里得到4个字符串,所以不知道会发生什么,但必须交换它。

1 个答案:

答案 0 :(得分:2)

这个有很多解决方案,但我认为问题在于你不了解这个问题。作为一般规则,首先将问题分解为您理解的部分,然后尝试为每个小部分找到实现,并且我非常确定以这种方式您可以快速解决问题并且您甚至可以找到优化整个问题。

我的思维方式:

  1. 将字符串分成两半。
  2. 下半场是第一个
  3. 上半场最后加入。
  4. 实现:

    1&amp; 2. NSString *final = [str substringWithRange:NSMakeRange(str.length / 2, str.length / 2)];

    1. [final stringByAppendingString:[str substringWithRange:NSMakeRange(0, str.length / 2)]];
    2. 一个代码中的所有代码都被剪切:

        NSString *str = @"ABCD";
        NSString *final = [str substringWithRange:NSMakeRange(str.length / 2, str.length / 2)];
        final = [final stringByAppendingString:[str substringWithRange:NSMakeRange(0, str.length / 2)]];
        NSLog(@"%@",final);