如何使用stringWithFormat动态地将连字符添加到我的字符串中

tin*_*ead 1 iphone hyphenation nsstring stringwithformat ios

嗨,只是想知道是否可能,因为用户正在输入一串数字,以便每隔字符串第5个字符动态添加一个连字符...

任何帮助将不胜感激.

Emp*_*ack 5

试试这个代码.

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    NSString *separator = @"-";
    int seperatorInterval = 5;
    NSString *originalString = [textField.text stringByReplacingOccurrencesOfString:separator withString:@""];

    if (![originalString isEqualToString:@""] && ![string isEqualToString:@""]) {

        NSString *lastChar = [textField.text substringFromIndex:[textField.text length] - 1];
        int modulus = [originalString length] % seperatorInterval;

        if (![lastChar isEqualToString:separator] && modulus == 0) {

            textField.text = [textField.text stringByAppendingString:separator];
        }
    }

    return YES;
}
Run Code Online (Sandbox Code Playgroud)