如何检测UISearchBar只包含空格

时间:2011-06-29 13:24:25

标签: iphone

如何检测UISearchBar是否只包含空格而不包含任何其他字符或字符串,并将其替换为@“”?

6 个答案:

答案 0 :(得分:10)

您可以使用NSString stringByTrimmingCharactersInSet消息(使用whitespaceCharacterSet)使用包含空格的字符集修剪字符串:

NSString * searchString = [searchBar.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

if (![searchString length])
   // return ... search bar was just whitespace

答案 1 :(得分:0)

您可以检查

 [yourSearchBar.text isEqualToString:@""]

希望它有所帮助。

答案 2 :(得分:0)

if([searchBar.text isEqualToString:@""] && [searchBar.text length] ==0){
   // Blank Space in searchbar

else{
 // Do Search
}

答案 3 :(得分:0)

以下是检测和替换它的方法:(假设UISearchField被称为searchBar

NSString*replacement;

if ([searchBar.text isEqualToString:@" "])
{
    replacement = [NSString stringByReplacingOccurancesOfString:@" " withString:@""];
}

searchBar.text = replacement;

请查看Apple文档中的NSString了解更多信息。

编辑:

如果您有多个空格,请执行以下操作:

    NSString *s = [someString stringByReplacingOccurrencesOfString:@" "
                                                        withString:@""
                                                           options:NSRegularExpressionSearch
                                                             range:NSMakeRange(0, [someString length])
                  ];

    searchBar.text = s;

答案 4 :(得分:0)

使用NSString

isEqualToString方法

使用stringByTrimmingCharactersInSet修剪NSString中的字符。

- (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set

使用如下。

NSString* myString = mySearchBar.text
myString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

答案 5 :(得分:0)

这对我有用:如果你正在使用@“”或已经控制长度来说一个按钮,那么这个版本确实会检测到空格,如果已输入空格...

if([activeField.text isEqualToString:@" "] && [activeField.text length] ==1){
    // Blank Space in searchbar
{
    // an alert example


}