簡體   English   中英

如何檢測 UISearchBar 僅包含空格

[英]How to detect UISearchBar is containing blank spaces only

如何檢測 UISearchBar 是否僅包含空格而不包含任何其他字符或字符串並將其替換為 @""?

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

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

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

這對我有用:如果您已經使用 @"" 或長度來控制說一個按鈕,那么這個版本確實會檢測到空格,如果已經輸入了空格......

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


}

您可以檢查為

 [yourSearchBar.text isEqualToString:@""]

希望能幫助到你。

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

else{
 // Do Search
}

以下是您檢測和替換它的方法:(假設UISearchField被稱為searchBar

NSString*replacement;

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

searchBar.text = replacement;

查看NSString的 Apple 文檔了解更多信息。

編輯:

如果您有多個空間,請執行以下操作:

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

    searchBar.text = s;

使用NSStringisEqualToString方法

使用stringByTrimmingCharactersInSet從 NSString 中修剪字符。

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

如下使用。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM