Trong Xcode, nếu tôi có một số NSString
có chứa một số, nghĩa là @ "12345", làm cách nào để chia thành một mảng đại diện cho các phần thành phần, ví dụ: "1", "2", "3", "4", " 5" ... có một componentsSeparatedByString
trên đối tượng NSString
, nhưng trong trường hợp này không có dấu phân cách ...Làm thế nào để bạn tách NSString thành các bộ phận cấu thành?
Trả lời
Nó có vẻ như characterAtIndex:
sẽ làm các trick, nhưng đó trả về một unichar
, mà không phải là một Loại dữ liệu có nguồn gốc từ NSObject và do đó không thể được đưa trực tiếp vào mảng. Bạn sẽ cần phải xây dựng một chuỗi mới với mỗi unichar.
Giải pháp đơn giản hơn là sử dụng substringWithRange:
với phạm vi 1 ký tự. Chạy chuỗi của bạn thông qua một vòng lặp for (int i=0;i<[myString length];i++)
đơn giản để thêm từng dải ký tự 1 vào một số NSMutableArray
.
A NSString
đã là một mảng thành phần của nó, nếu theo thành phần bạn ngụ ý các ký tự đơn. Sử dụng [string length]
để lấy độ dài của chuỗi và [string characterAtIndex:]
để nhận các ký tự.
Nếu bạn thực sự cần một mảng các đối tượng chuỗi chỉ với một ký tự, bạn sẽ phải tự tạo mảng đó. Lặp lại các ký tự trong chuỗi bằng một vòng lặp for
, tạo một chuỗi mới với một ký tự đơn bằng cách sử dụng [NSString stringWithFormat:]
và thêm chuỗi đó vào mảng của bạn. Nhưng điều này thường không cần thiết.
Không biết nếu điều này làm việc cho những gì bạn muốn làm nhưng:
const char *foo = [myString UTF8String]
char third_character = foo[2];
Hãy chắc chắn để đọc các tài liệu trên UTF8String
Trong trường hợp của bạn, vì bạn không có dấu phân cách, bạn có để có được ký tự riêng biệt bởi
- (void)getCharacters:(unichar *)buffer range:(NSRange)aRange
hay này một
- (unichar)characterAtIndex:(NSUInteger) index inside a loop.
Đó là cách duy nhất tôi thấy, tại thời điểm này.
Có một chức năng thành viên sẵn sàng của NSString để làm điều đó:
NSString* foo = @"safgafsfhsdhdfs/gfdgdsgsdg/gdfsgsdgsd";
NSArray* stringComponents = [foo componentsSeparatedByString:@"/"];
- 1. Parse Số điện thoại thành bộ phận cấu thành
- 2. Làm thế nào để biến NSString thành NSDate?
- 3. tách một chuỗi dài biến thành nhiều bộ phận trong python
- 4. Làm thế nào để chuyển đổi NSData thành NSString?
- 5. Làm thế nào để chuyển đổi std :: string thành NSString?
- 6. Làm thế nào để chuyển đổi NSString thành chuỗi C?
- 7. Làm thế nào để chuyển đổi NSDate thành NSString?
- 8. Làm thế nào để chuyển đổi NSArray thành NSString
- 9. Làm thế nào để sử dụng ngàn tách trong NSString
- 10. Tách riêng 1 NSString thành hai NSStrings theo whiteSpace
- 11. Làm cách nào để tách văn bản thành các từ?
- 12. Làm cách nào để chuyển đổi NSMutableArray thành NSString?
- 13. Làm cách nào để chuyển đổi NSString thành NSData?
- 14. NSString thành HTML
- 15. Làm cách nào để tăng các bộ phận số nhân?
- 16. Làm thế nào để biến một bộ phận thành một sự thay đổi bitwise khi sức mạnh của hai?
- 17. Chia NSString thành Array
- 18. Cách chia NSString dài thành các trang
- 19. Thay thế một char thành NSString
- 20. Tách một chuỗi thành một bộ lặp
- 21. Làm thế nào để trích xuất các thành viên từ bộ đơn thành viên trong python?
- 22. Tách biệt NSString thành NSArray, nhưng cho phép trích dẫn các từ nhóm
- 23. Làm thế nào để tách một chuỗi được phân tách thành một mảng trong awk?
- 24. Làm thế nào để bạn chuyển đổi SYS_GUID() thành varchar?
- 25. chuyển đổi NSDictionary thành NSString
- 26. Làm thế nào để bạn giao tiếp với các nhóm bên ngoài thành phố của bạn?
- 27. Làm cách nào tôi có thể chia một bộ chuỗi thành các ký tự cấu thành của chúng trong C#?
- 28. Làm cách nào để tách chuỗi thành nhiều mảng?
- 29. Tách mảng thành các biến trong php
- 30. Tách chuỗi thành các từ
Đó làm việc rực rỡ, cảm ơn rất nhiều cho các phản ứng nhanh chóng :-) –