ios - 文本中只允许 2 个空格

标签 ios objective-c nsregularexpression

我有一个 UITextField,我想允许用户在此字段中输入最多 2 个空格。我该怎么做?

我想我需要在这里检查一些东西:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {}

但是要检查什么?我在网上搜索过,但没有找到。

最佳答案

您想为此使用正则表达式。表达式 \s\s+ 表示两个或多个空格、回车符或制表符。

NSString *text = textField.text;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:
                              @"(\s\s+)" options:0 error:nil];

[regex replaceMatchesInString:str options:0 range:NSMakeRange(0, [str length]) withTemplate:@"  "];    
textField.text = text;

关于ios - 文本中只允许 2 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20691886/

相关文章:

ios - 应用程序在 iPhone 7 上崩溃但在模拟器上没有

objective-c - iOS AVFoundation captureStillImageAsynchronouslyFromConnection :completionHandler: Hanging Indefinitely

ios - 正则表达式获取下一个上一个单词

regex - 来自 URL 的 Youtube 视频 ID - Swift3

ios - Objective-C GCD : Do multiple dispatch threads make things faster?

javascript - Titanium HealthKit 模块 - 无法创建按来源累积和分隔的统计查询

objective-c - iOS Objective-C 将坐标从绝对图像位置转换为我的 View 坐标系

ios - 如何编写正则表达式?

ios - 如何扩展算术运算符以支持可选值 - Swift

ios - segue完成后如何执行一些代码?