Có bất kỳ điều gì tương tự với chức năng indexOf
trong các đối tượng NSString không?Chỉ mục NSStringOf trong Mục tiêu-C
Trả lời
Sử dụng -[NSString rangeOfString:]
:
- (NSRange)rangeOfString:(NSString *)aString;
Tìm và trả về phạm vi của sự xuất hiện đầu tiên của một chuỗi cho trước trong máy thu.
Tôi đã viết một danh mục để mở rộng đối tượng NSString gốc. Có lẽ các bạn có thể tham khảo nó. (Bạn cũng có thể xem article trong blog của tôi quá.)
ExtendNSString.h:
#import <Foundation/Foundation.h>
@interface NSString (util)
- (int) indexOf:(NSString *)text;
@end
ExtendNSStriing.m:
#import "ExtendNSString.h"
@implementation NSString (util)
- (int) indexOf:(NSString *)text {
NSRange range = [self rangeOfString:text];
if (range.length > 0) {
return range.location;
} else {
return -1;
}
}
@end
Việc sử dụng NSRange tốt hơn phải như sau 'mã' - (int) indexOf: (NSString *) văn bản { Phạm vi NSRange = [phạm vi tựOfString: văn bản]; if (range.location! = NSNotFound) { phạm vi trả về.location; } người khác { trả lại -1; } } 'mã' – loretoparisi
Giải pháp tốt, sạch sẽ, có thể tái sử dụng. Và đã bình chọn -1 cho Apple vì vẫn khiến chúng tôi phải viết những chức năng trợ giúp đơn giản như vậy vào năm 2014. Tại sao họ không thể làm cho cuộc sống dễ dàng hơn cho chúng ta? –
Nếu bạn muốn chỉ biết khi String một chứa chuỗi b sử dụng cách của tôi để làm điều này.
#define contains(str1, str2) ([str1 rangeOfString: str2 ].location != NSNotFound)
//using
NSString a = @"PUC MINAS - BRAZIL";
NSString b = @"BRAZIL";
if(contains(a,b)){
//TO DO HERE
}
Đây là ít có thể đọc được nhưng cải thiện hiệu suất
Chỉ cần những gì tôi cần --- Cảm ơn! –
thực sự tuyệt vời! –
Tôi biết đó là muộn, nhưng tôi đã thêm một thể loại mà thực hiện phương pháp này và nhiều người khác tương tự như javascript phương pháp chuỗi
https://github.com/williamFalcon/WF-iOS-Categories
- 1. Làm cách nào để chuyển đổi giá trị NSUInteger thành giá trị int trong mục tiêuC?
- 2. Lấy chỉ mục của mục hiện tại trong JCarousel
- 3. Chỉ mục mục hiện tại trong mẫu hiển thị mvc
- 4. Qt QFileSystemModel - Nhiều cây thư mục trong chỉ mục gốc
- 5. Tìm chỉ mục của mục thứ n trong danh sách
- 6. Lấy chỉ mục của một mục trong danh sách mảng;
- 7. Cách tìm chỉ mục gần nhất với chỉ mục được chỉ định trong Matlab
- 8. chỉ mục jquery() - mục danh sách di chuột, hiển thị nội dung có cùng chỉ mục
- 9. Chỉ mục là gì?
- 10. Chỉ mục trên Varchar?
- 11. Tìm chỉ mục TabStrip
- 12. . Thu thập chỉ mục
- 13. Lập chỉ mục Postgres?
- 14. Chỉ mục JavascriptOf
- 15. postgres tạo chỉ mục
- 16. Đặt chỉ mục xts
- 17. Tôi có nên xác định chỉ mục (A) và chỉ mục (B) hoặc chỉ mục (A, B) hoặc cả hai?
- 18. Ý nghĩa của tên chỉ mục khi tạo chỉ mục trong MySQL là gì?
- 19. Giải pháp trong mysql cho một phần Chỉ mục hoặc chỉ mục được lọc?
- 20. Cách lấy chỉ mục đúng cách từ đường dẫn chỉ mục trong UICollectionView?
- 21. Tại sao kết quả SQL này trong Quét chỉ mục thay vì Tìm kiếm chỉ mục?
- 22. Cài đặt có thể lập chỉ mục yếu có thể lập chỉ mục trong Python
- 23. So sánh hai bảng chỉ mục theo giá trị chỉ mục trong lua
- 24. Chỉ mục tổng hợp so với INCLUDE Chỉ mục bao gồm trong SQL Server
- 25. Cách giải quyết "Lỗi: chỉ mục xấu - Chỉ mục: Tập tin chỉ mục bị hỏng" khi sử dụng Git
- 26. lập chỉ mục bit trong C?
- 27. jQuery chỉ số mục trong selector
- 28. Chỉ mục hợp nhất trong Lucene
- 29. Bộ đệm chỉ mục trong WebGL?
- 30. Mảng 2D $ Chỉ mục trong AngularJS
Và 'NSRange. vị trí' là chỉ mục thực tế. – devios1
'if (NSRange.location! = NSNotFound)' sau đó bạn tìm thấy một kết quả phù hợp. –