我是iOS新手。 我有一个UITextField,我在其中添加如下值:1234,54678,8976
在方法shouldChangeCharactersInRage中我想每次取nsstring之后,。 意思是如果我在我的NSString中添加:1234我希望有1234 如果我有1234,我的NSStringg中只有5个
这是我到目前为止的代码:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *getNo=[textField.text stringByReplacingCharactersInRange:range withString:string];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\ .*?," options:0 error:NULL];
NSArray *matches = [regex matchesInString:getNo options:0 range:NSMakeRange(0, [getNo length])];
NSTextCheckingResult *match = [matches lastObject];
if (match!=nil){
getNo=@"";
}
在这种情况下的问题是,在以下情况中:1234,65而不是在我的getNo中有65,我将有一个空物体。
如何解决这个问题?
答案 0 :(得分:1)
试试这个
NSArray *subStrings = [textFieldTextString componentsSeparatedByString:@","]; //this will returns array of strings separated by ,
double answer = [[subStrings lastObject] doubleValue];//get last value and type cast it
答案 1 :(得分:1)
试试这个。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *textFieldString=[textField.text stringByReplacingCharactersInRange:range withString:string];
NSArray *subStrings = [textFieldString componentsSeparatedByString:@","];
NSString *lastNumberString = [subStrings lastObject];
NSString *trimmedString = [lastNumberString stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
return YES;
}