ios - 需要检查 UITextField 是否包含两个(并且只有两个)iOS 中每个最少 2 个字符的字符串

标签 ios nsstring uitextfield

我正在尝试检查用户是否在 UITextField 中输入了两个词。但是,我还需要检查这两个词是否也至少是两个字符。目前,我知道如何检查 UITextField 内容的唯一方法是在修剪文本前面的空格后检查字符之间的空格。

这是我正在使用的代码:

if ([textField.text length] > 0) {

        NSString *name = [textField text];
        NSString *trimmedString = [name stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
        NSRange whiteSpaceRange = [trimmedString rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]];

        if (whiteSpaceRange.location != NSNotFound) {
            NSLog(@"Found whitespace");
        }

    }

正如我所说,我的目标是获取 UITextField 的内容,并检查用户是否输入了两个单词,每个单词的长度至少为两个字符。我做错了什么?

最佳答案

让我们首先尝试了解您在做什么:
您正在使用 stringByTrimmingCharactersInSet 方法。来自 Apple 文档

Returns a new string made by removing from both ends of the receiver characters contained in a given character set.

这意味着它在从两端删除字符集后返回一个字符串。在您的情况下,您提供了 whiteCharacterSet,它是空格和制表符。这意味着当您想从字符串的两端删除多余的空格时,此方法很有用。但是您的要求是将字符串中的两个单词分开。

为此,NSString 有另一个方法返回分隔单词的数组。

componentsSeparatedByCharactersInSet:

Returns an array containing substrings from the receiver that have been divided by characters in a given set.

通过使用此方法,您可以轻松检索分隔的单词并使用 for 循环检查每个单词是否至少包含两个字符。像这样:

 NSString *str= @"Puneet";
  if ([str length] > 0) {
    NSArray *trimmedArray = [str componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    if(trimmedArray.count > 1)
    {
    for(NSString *str in trimmedArray)
    {
      if(str.length >=2)
        NSLog(@"Have minimum two characters");
      else
        NSLog(@"Dont Have minimum two characters");
    }
    }
    else{
      NSLog(@"No Two words are present");
    }
  }

关于ios - 需要检查 UITextField 是否包含两个(并且只有两个)iOS 中每个最少 2 个字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18722188/

相关文章:

ios - 如何使用Swift 4解决Tableview数据数组 "Out of range values"?

ios - 通过 CGContext 绘制 UIButton 图片

ios substr 从结束

ios - 优雅地将 UIView 移动到键盘的 inputAccessoryView

ios - uitextfield selected 更改状态栏颜色

iOS 自动播放不起作用

iphone - Ipad 横向模式和 iphone 纵向模式

macos - 如何将NSString写入NSView?

ios - 应该相等的字符串比较不相等

ios - UIPickerView 作为 UITextField 的输入 View