如何检测UISearchBar是否只包含空格而不包含任何其他字符或字符串,并将其替换为@“”?
答案 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
}