1

次の文字列があります

NSString *word1=@"hitoitatme";

ご覧のとおり、2 文字ごとにスペースを追加すると、最小/最大 2 文字を含む単語の文字列になります。

NSString *word2=@"hi to it at me";

文字列に 2 文字ごとに空白文字を追加できるようにしたいと考えています。どうすればこれを行うことができますか?word1 のような文字列がある場合、word2 のように見えるようにコードを追加できますか? 可能であれば、これを行う最も効率的な方法を探しています。

前もって感謝します

4

2 に答える 2

7

文字列に空白を追加するにはさまざまな方法があるかもしれませんが、1 つの方法はNSRegularExpressionを使用することです

  NSString *originalString = @"hitoitatme";
  NSRegularExpression *regexp = [NSRegularExpression regularExpressionWithPattern:@"([a-z])([a-z])" options:0 error:NULL];
  NSString *newString = [regexp stringByReplacingMatchesInString:originalString options:0 range:NSMakeRange(0, originalString.length) withTemplate:@"$0 "];
  NSLog(@"Changed %@", newString);//hi to it at me
于 2013-03-23T02:41:27.803 に答える
5

あなたはこのようにすることができます:

NSString *word1=@"hitoitatme";
NSMutableString *toBespaced=[NSMutableString new];

for (NSInteger i=0; i<word1.length; i+=2) {
    NSString *two=[word1 substringWithRange:NSMakeRange(i, 2)];
    [toBespaced appendFormat:@"%@  ",two ];
}

NSLog(@"%@",toBespaced);
于 2013-03-23T03:44:05.300 に答える