我正在寻找确定来自用户输入(UITextField)的字符串值是否为“空白”,如果它不为零。检查是否[textField.text isEqualToString:""]
不够,因为我想避免任何空白/空格输入(比如几个空格字符)。
在这篇 StOv 帖子中,似乎确实有迹象表明我的特定问题有一个很好的解决方案。
基本上它是这样的,但我怀疑必须(或应该)有更好的方法:
NSString *strResult;
NSScanner* scanner = [NSScanner scannerWithString:textField.text];
BOOL hasValidChars = [scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]
intoString:&strResult];
// if hasValidChars == YES, we've got nonwhite space chars collected into strResult
这显然只适用于我的特定情况,即使这样,如果第一个字符是空格但我想要的数据紧随其后,它也会失败。所以,我意识到我有点被 Ruby 宠坏了,但是在 Cocoa 中必须有一个经过验证的、真正的习惯用法来修剪字符串。
Aaaand 答案已经出来了,我很抱歉:
NSString-stringByTrimmingCharactersInSet:
会这样做:
返回通过从给定字符集中包含的接收者字符的两端删除而生成的新字符串。
我仍然很想知道是否有人有其他/首选的方法来做到这一点。