xcode4 のテキスト編集を vim ライクにしてくれるプラグイン

JugglerShu / XVim
https://github.com/JugglerShu/XVim

ここ数日 xcode にこのプラグインをインストールして xcode + vim キーバインディングで作業しています。
とても便利です。
アンインストールも↓で OK みたいです。
開発が活発なようなので、毎日チェックしてます。

– Uninstall
Delete the following directory:
$HOME/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XVim.xcplugin

条件に合致する文字のみ取得する方法

テキストフィールドなどから入力された文字列より、条件に合致する文字を取得する場合に正規表現を使えれば便利だなぁ~と調べるとやはりありました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 入力された文字列から"全角ひらがな"、"全角カタカナ"のみ取得する
- (NSString *)getHiraganaKatakana:(NSString *)inString
{   
    if ([inString length] == 0) {
        return @"";
    }
 
    // 正規表現オブジェクトを作成する
    NSRegularExpression *regexp;
    NSError *error = nil;
    regexp = [NSRegularExpression regularExpressionWithPattern:@"[ぁ-んァ-ン]" options:0 error:&error];
    if (error != nil) {
        NSLog(@"%@", error);
        return @"";
    }
 
    NSArray *checkingResultArray = [regexp matchesInString:inString options:0 range:NSMakeRange(0, inString.length)];
 
    NSMutableString *outString = [NSMutableString string];
 
    for (NSUInteger i = 0; i < [checkingResultArray count]; i++) {
        NSTextCheckingResult *checkingResult = [checkingResultArray objectAtIndex: i];
        if (checkingResult) {
            [outString appendString:[inString substringWithRange:[checkingResult rangeAtIndex:0]]];
        }
    }
 
    return outString;
}

入力された文字が数値か判断する方法

入力された文字が数値かどうか?判定する処理はいろいろありますが、cocoa の流儀ではどうするのかと調べると NSScanner ってのが使えると知りました。
初めて使いましたが、便利ですね。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 数値入力として妥当か判断する
- (BOOL)isDigit:(NSString *)inString
{
    if ([inString length] == 0) {
        return NO;
    }
 
    NSCharacterSet *digitCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
 
    NSScanner *aScanner = [NSScanner localizedScannerWithString:inString];
    [aScanner setCharactersToBeSkipped:nil];
 
    [aScanner scanCharactersFromSet:digitCharSet intoString:NULL];
    return [aScanner isAtEnd];
}

参考リンク:
terrazzoの日記 ■[Cocoa]Re: NSString が整数値かどうか調べる関数