35

我接受来自 aNSString的随机数并将其传递给我正在创建的方法,该方法将仅捕获在.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 回答
0

您可以在 Swift 5 中检查此功能:

func subString(from myString: NSString, length: Int) {
    let myNSRange = NSRange(location: myString.length - length, length: length)
    print(myString.substring(with: myNSRange))
}
subString(from: "Menaim solved the issue", length: 4) // Output: ssue
于 2020-12-07T17:28:42.460 回答