Giả sử tôi có số này NSString
: @"Country Address Tel:number"
. Tôi làm cách nào để nhận chuỗi con trước Tel
? (Địa chỉ quốc gia) Và sau đó Làm thế nào tôi có thể làm để có được chuỗi con sau Tel
? (Số)Nhận chuỗi con từ NSString cho đến khi đến một từ cụ thể
18
A
Trả lời
28
Sử dụng NSScanner:
NSString *string = @"Country Address Tel:number";
NSString *match = @"tel:";
NSString *preTel;
NSString *postTel;
NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanUpToString:match intoString:&preTel];
[scanner scanString:match intoString:nil];
postTel = [string substringFromIndex:scanner.scanLocation];
NSLog(@"preTel: %@", preTel);
NSLog(@"postTel: %@", postTel);
NSLog đầu ra:
preTel: Quốc gia Địa chỉ
postTel: số
22
Cách dễ nhất là nếu bạn biết delimiter, (nếu nó luôn luôn là :
), bạn có thể sử dụng này:
NSArray *substrings = [myString componentsSeparatedByString:@":"];
NSString *first = [substrings objectAtIndex:0];
NSString *second = [substrings objectAtIndex:1];
rằng sẽ chia chuỗi của bạn thành hai mảnh, và cung cấp cho bạn các mảng với mỗi chuỗi
2
Dưới đây là một phần mở rộng của câu trả lời zaph của mà tôi đã thực hiện thành công.
-(NSString*)stringBeforeString:(NSString*)match inString:(NSString*)string
{
if ([string rangeOfString:match].location != NSNotFound)
{
NSString *preMatch;
NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanUpToString:match intoString:&preMatch];
return preMatch;
}
else
{
return string;
}
}
-(NSString*)stringAfterString:(NSString*)match inString:(NSString*)string
{
if ([string rangeOfString:match].location != NSNotFound)
{
NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanUpToString:match intoString:nil];
NSString *postMatch;
if(string.length == scanner.scanLocation)
{
postMatch = [string substringFromIndex:scanner.scanLocation];
}
else
{
postMatch = [string substringFromIndex:scanner.scanLocation + match.length];
}
return postMatch;
}
else
{
return string;
}
}
Các vấn đề liên quan
- 1. vi để xóa từ đầu cho đến khi con trỏ
- 2. Chuỗi con đến cuối chuỗi
- 3. Làm thế nào để trích xuất một chuỗi con từ một chuỗi trong PHP cho đến khi nó đạt đến một ký tự nhất định?
- 4. IOS: NSString truy xuất chuỗi con từ chuỗi
- 5. Trong java làm thế nào để có được chuỗi con từ một chuỗi cho đến khi một ký tự c?
- 6. Từ PDf đến chuỗi
- 7. Cách cuộn một ListView cho đến khi tôi thấy một chuỗi cụ thể với Calabash-Android
- 8. nhận được từ Android đến công cụ ứng dụng Google
- 9. Con trỏ đến một địa chỉ cố định cụ thể
- 10. NSString đến NSURL?
- 11. Nhận một bit cụ thể từ byte
- 12. Nhận NSString Từ NSURL
- 13. Vòng cho đến khi một người dùng cụ đầu vào
- 14. Làm cách nào để trích xuất chuỗi con từ chuỗi cho đến khi gặp phải không gian thứ hai?
- 15. Là một diễn viên từ (con trỏ đến const) đến (con trỏ đến không-const) không hợp lệ C++?
- 16. Có thể chuyển một tham chiếu đến một con trỏ từ Excel VBA sang C++ không?
- 17. Nhận thẻ con cụ thể từ DOMElement trong PHP
- 18. Làm cho Github đẩy đến một máy chủ từ xa khi nó nhận được cập nhật
- 19. Chuyển đổi một chuỗi đến và đi từ Base 64
- 20. Con trỏ truyền từ kiểu cơ sở đến kiểu con
- 21. Cuộn TextView trong ScrollView đến chuỗi con văn bản cụ thể
- 22. Lấy NSDecimalNumber từ một chuỗi địa phương cụ thể?
- 23. Nhận Hộp thư đến từ Outlook
- 24. Dải từ cụ thể từ chuỗi
- 25. Tiếp tục lặp lại trong C++ cho đến khi một số lặp cụ thể trong gdb
- 26. Lấy các số cụ thể từ chuỗi
- 27. Chuỗi con một chuỗi từ cuối chuỗi
- 28. Cron đến chuỗi có thể đọc được của con người
- 29. Xóa từ con trỏ đến cuối ngoặc (vv) trong vim
- 30. Lưu trữ và truy xuất giá trị dài dài chưa được ký từ/đến NSString
Tuyệt vời. Cảm ơn –
cảm ơn vì Giải pháp "Tiện dụng". – Vats