35

からNSStringランダムなを受け取り、作成中のメソッドに渡します。このメソッドは、 に入力された最後の 4 文字のみをキャプチャします。sizeUITextFieldstring

私はNSStringクラス参照ライブラリを調べましたが、私が見つけた唯一の実際のオプションは、私が望むことを行うように見えることです

- (void)getCharacters:(unichar *)buffer range:(NSRange)aRange

私はこれを以前に一度使用しましたが、「変化しない」静的パラメーターを使用しましたが、この実装では、入ってくる文字列のサイズに応じて変化する非静的パラメーターを使用したいと考えています。

これまでのところ、これは私が作成したメソッドでありNSString、IBAction から渡されます。

- (void)padString:(NSString *)funcString
{

    NSString *myFormattedString = [NSString stringWithFormat:@"%04d",[funcString intValue]]; // if less than 4 then pad string
    //   NSLog(@"my formatedstring = %@", myFormattedString);

    int stringLength = [myFormattedString length]; // captures length of string maybe I can use this on NSRange?


    //NSRange MyOneRange = {0, 1}; //<<-------- should I use this? if so how?

}
4

3 に答える 3

96

substringFromIndex メソッドを使用して、

OBJ-C:

NSString *trimmedString=[string substringFromIndex:MAX((int)[string length]-4, 0)]; //in case string is less than 4 characters long.

迅速:

let trimmedString: String = (s as NSString).substringFromIndex(max(s.length-4,0))
于 2011-07-06T04:27:52.903 に答える
9

これを試して、

NSString *lastFourChar = [yourNewString substringFromIndex:[yourNewString length] - 4];
于 2015-04-18T11:37:05.267 に答える