2012-03-15 27 views

Trả lời

68

Hãy thử giải pháp sau đây:

NSString *str1 = @"Hello your bal = 68094"; 
NSRange range = [str1 rangeOfString:@"="]; 
if (range.location != NSNotFound) { 
    NSString *newString = [str1 substringToIndex:range.location]; 
    NSLog(@"%@",newString); 
} else { 
    NSLog(@"= is not found"); 
} 

hoặc là

NSString *str1 = @"Hello your bal = 68094"; 
NSRange range = [str1 rangeOfString:@"="]; 
if (range.location != NSNotFound) { 
    NSString *newString = [str1 substringWithRange:NSMakeRange(0, range.location)]; 
    NSLog(@"%@",newString); 
} else { 
    NSLog(@"= is not found"); 
} 

Cập nhật cho @geekay_gk: Nếu bạn chắc chắn rằng bạn sẽ có 2 "=" trong chuỗi của bạn, sau đó

NSString *[email protected]"Hello your balance = 60094 and your id = rt456"; 
NSRange range = [str1 rangeOfString:@"=" options: NSBackwardsSearch]; 
NSString *newString = [str1 substringFromIndex:(range.location+1)]; 
NSLog(@"%@",newString); 

Nếu nó có chứa khoảng trắng, nó sẽ là tốt hơn để cắt chuỗi .

+0

Có cách nào nếu chuỗi là 'Xin chào số dư của bạn = 60094 và id = rt456' hw của bạn có thể lấy rt456 bây giờ – thesummersign

+0

@geekay_gk, tôi đã cập nhật câu trả lời của mình chưa. Pl. kiểm tra. – Ilanchezhian

+0

+1 hoàn hảo !! cảm ơn rất nhiều tôi đã gần mặc dù. – thesummersign

8

Có lẽ không phải là giải pháp tốt nhất, nhưng ở đây nó là:

NSString *[email protected]"Hello your bal = 68094"; 
NSArray *tempArray = [str1 componentsSeparatedByString:@"="]; 
str1 = [tempArray objectAtIndex:0]; 
NSLog(@"%@", str1); 

Output:

2012-03-15 11:21:01.249 TestApp[1539:207] Hello your bal 

Hy vọng nó giúp

+0

Thnx nó hoạt động tuy nhiên là có bất kỳ phương pháp để trực tiếp cắt sau khi chuỗi con cụ thể – user968597

+0

@ user968597 Kiểm tra câu trả lời của Aadhira cho điều đó. – iNoob

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