Skip to content

Instantly share code, notes, and snippets.

@corocorococoro
Last active December 20, 2015 11:09
Show Gist options
  • Select an option

  • Save corocorococoro/6120635 to your computer and use it in GitHub Desktop.

Select an option

Save corocorococoro/6120635 to your computer and use it in GitHub Desktop.
半角カナを全角カナにする。 NSString* strHankaku = @"アイウエオ"; NSString* strZenkaku = str.convertToZenkakukana; // strZenkaku → アイウエオ
@interface NSString(NSStringAddition)
- (NSString *)convertToZenkakukana;
@end
@implementation NSString(NSStringAddition)
- (NSString *)convertToZenkakukana
{
NSMutableString *target =self.mutableCopy;
for(int p = 0; p < [target length]; p++)
{
NSRange range = NSMakeRange(p, 1);
NSString *moji = [target substringWithRange:range];
@autoreleasepool
{
NSString* (^getZenkakuKanaWithHanaku)(NSString*) = ^(NSString* str) {
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@"ソ"]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@""]) return @"";
if([str isEqualToString:@"ガ"]) return @"";
if([str isEqualToString:@"ギ"]) return @"";
if([str isEqualToString:@"グ"]) return @"";
if([str isEqualToString:@"ゲ"]) return @"";
if([str isEqualToString:@"ゴ"]) return @"";
if([str isEqualToString:@"ザ"]) return @"";
if([str isEqualToString:@"ジ"]) return @"";
if([str isEqualToString:@"ズ"]) return @"";
if([str isEqualToString:@"ゼ"]) return @"";
if([str isEqualToString:@"ゾ"]) return @"";
if([str isEqualToString:@"ダ"]) return @"";
if([str isEqualToString:@"ヂ"]) return @"";
if([str isEqualToString:@"ヅ"]) return @"";
if([str isEqualToString:@"デ"]) return @"";
if([str isEqualToString:@"ド"]) return @"";
if([str isEqualToString:@"バ"]) return @"";
if([str isEqualToString:@"ビ"]) return @"";
if([str isEqualToString:@"ブ"]) return @"";
if([str isEqualToString:@"ベ"]) return @"";
if([str isEqualToString:@"ボ"]) return @"";
if([str isEqualToString:@"パ"]) return @"";
if([str isEqualToString:@"ピ"]) return @"";
if([str isEqualToString:@"プ"]) return @"";
if([str isEqualToString:@"ペ"]) return @"";
if([str isEqualToString:@"ポ"]) return @"";
return str;
};
[target replaceCharactersInRange:NSMakeRange(p, 1) withString:getZenkakuKanaWithHanaku(moji)];
}
}
return [target decomposedStringWithCompatibilityMapping];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment