重複の可能性:
NSStringテキストを逆にする
私はobjectovecを初めて使用します。文字列を持つ配列があります。各文字列を逆にする方法は?
どの方法でNSArray
私NSstring
を助けてくれますか?
配列に文字列を逆にしたい。
ありがとう
重複の可能性:
NSStringテキストを逆にする
私はobjectovecを初めて使用します。文字列を持つ配列があります。各文字列を逆にする方法は?
どの方法でNSArray
私NSstring
を助けてくれますか?
配列に文字列を逆にしたい。
ありがとう
逆文字列を返すメソッドを作成します。
-(NSString *)reverseString:(NSString *)string{
NSString *reverseString=[NSString new];
for (NSInteger i=string.length-1; i>-1; i--) {
reverseString=[reverseString stringByAppendingFormat:@"%c",[string characterAtIndex:i]];
}
return reverseString;
}
あなたの方法のいずれかで:
NSMutableArray *names=[NSMutableArray arrayWithObjects:@"anoop",@"johnson",@"wasim",nil];
for (NSInteger i=0; i<names.count; i++) {
names[i]=[self reverseString:names[i]];
}
NSLog(@"%@",names);
NSString *str=textEntered.text;//
NSMutableArray *temp=[[NSMutableArray alloc] init];
for(int i=0;i<[str length];i++)
{
[temp addObject:[NSString stringWithFormat:@"%c",[str characterAtIndex:i]]];
}
temp = [NSMutableArray arrayWithArray:[[temp reverseObjectEnumerator] allObjects]];
NSString *reverseString=@"";
for(int i=0;i<[temp count];i++)
{
reverseString=[NSString stringWithFormat:@"%@%@",reverseString,[temp objectAtIndex:i]];
}
NSLog(@"%@",reverseString);
逆文字列の別の方法 NSStringEnumerationOptions
- (NSString *)reverseString:(NSString *)string {
NSMutableString *reversedString = [[NSMutableString alloc] init];
NSRange fullRange = [string rangeOfString:string];
NSStringEnumerationOptions enumerationOptions = (NSStringEnumerationReverse | NSStringEnumerationByComposedCharacterSequences);
[string enumerateSubstringsInRange:fullRange options:enumerationOptions usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
[reversedString appendString:substring];
}];
return reversedString;
}
この助けを願っています
NSString *str=textEntered.text;//
NSMutableArray *temp=[[NSMutableArray alloc] init];
for(int i=0;i<[str length];i++)
{
[temp addObject:[NSString stringWithFormat:@"%c",[str characterAtIndex:i]]];
}
temp = [NSMutableArray arrayWithArray:[[temp reverseObjectEnumerator] allObjects]];
NSString *reverseString=@"";
for(int i=0;i<[temp count];i++)
{
reverseString=[NSString stringWithFormat:@"%@%@",reverseString,[temp objectAtIndex:i]];
}
NSLog(@"%@",reverseString);
これを使用して文字列を反転し、同じインデックスで配列に格納します。
-(NSString*)reverseString:(NSString*)string {
NSMutableString *reversedString;
int length = [string length];
reversedString = [NSMutableString stringWithCapacity:length];
while (length--) {
[reversedString appendFormat:@"%c", [string characterAtIndex:length]];
}
return reversedString;
}
ただし、可変文字列がある場合は、カテゴリを作成できます
@interface NSMutableString (Reverse)
- (void)reverseString;
@end
@implementation NSMutableString (Reverse)
- (void)reverseString {
for (int i = 0; i < self.length/2; i++) {
int l = self.length - 1 - i;
NSRange iRange = NSMakeRange(i, 1);
NSRange lRange = NSMakeRange(l, 1);
NSString *iStr = [self substringWithRange:iRange];
NSString *lStr = [self substringWithRange:lRange];
[self replaceCharactersInRange:iRange withString:lStr];
[self replaceCharactersInRange:lRange withString:iStr];
}
}
@end
そして、あなたはこのようなこのカテゴリーの方法を使うことができます
NSArray *arr = [NSArray arrayWithObjects:[@"hello" mutableCopy], [@"Do it now" mutableCopy], [@"Test string, 123 123" mutableCopy], nil];
NSLog(@"%@",arr);
[arr makeObjectsPerformSelector:@selector(reverseString)];
NSLog(@"%@",arr);
使用する
unichar c[yourstring.Length];
NSRange raneg={0,yourstring.Length};
[yourstring getCharacters:c range:raneg];
//c will be an array of your string do what ever you wish