2014-05-07 14 views
15

Tôi tự hỏi nếu có ai đó có thể giúp đỡ. Tôi đang cố gắng tìm kiếm một lớp Parse cho một thuật ngữ sử dụng SearchBar. Tuy nhiên, containsString phân biệt chữ hoa chữ thường và tôi muốn nó không phân biệt chữ hoa chữ thường. Vui lòng xem mã bên dưới;Truy vấn phân tích cú pháp chứaString không nhạy cảm

-(void)filterResults:(NSString *)searchTerm { 

[self.searchResults removeAllObjects]; 
PFQuery *query = [PFQuery queryWithClassName: @"Firefacts"]; 
[query whereKeyExists:@"Number"]; 
[query whereKey:@"Number" containsString:searchTerm]; 
NSArray *results = [query findObjects]; 
[self.searchResults addObjectsFromArray:results]; 
} 

Mọi trợ giúp sẽ được đánh giá cao.

Trả lời

29

Sử dụng Cụm từ thông dụng (?i) thay thế! tín dụng đi vào https://stackoverflow.com/a/9655203/2398886, https://stackoverflow.com/a/9655186/2398886http://www.regular-expressions.info/modifiers.html

Vì vậy, thay

[query whereKey:@"Number" containsString:searchTerm]; 

với

[query whereKey:@"Number" matchesRegex:[NSString stringWithFormat:@"(?i)%@",searchTerm]]; 

hoặc bạn cũng có thể sử dụng

[query whereKey:@"Number" matchesRegex:searchTerm modifiers:@"i"]; 

mã cuối cùng của bạn nên là:

PFQuery *query = [PFQuery queryWithClassName: @"Firefacts"]; 
[query whereKeyExists:@"Number"]; 
[query whereKey:@"Number" matchesRegex:searchTerm modifiers:@"i"]; 
+3

Câu trả lời hay và xử lý, cảm ơn bạn rất nhiều vì điều này :-) – user3611162

+2

Tốt! Hoạt động hoàn hảo với nhanh chóng: D Tốt công việc! – user3369214

+0

Tôi đã sử dụng nó và nó hoạt động. Nhưng điều gì xảy ra nếu tôi muốn có được một từ phù hợp EXACT mà còn sử dụng một regex không phân biệt chữ hoa chữ thường? – D34thSt4lker

Các vấn đề liên quan