2016-04-25 13 views
0

文字列はmyAgent(9953593875).Amt:Rs.594で、9953593875を抽出します。ここに私が試したものです:NSStringを解析する方法

NSRange range = [feDetails rangeOfString:@"."]; 
NSString *truncatedFeDetails = [feDetails substringWithRange:NSMakeRange(0, range.location)]; 
NSLog(@"truncatedString-->%@",truncatedFeDetails); 

この出力:truncatedString-->AmzAgent(9953593875)

答えて

4

それとも、このようにします:

NSString *string = @"myAgent(9953593875).Amt:Rs.594."; 

NSRange rangeOne = [string rangeOfString:@"("]; 
NSRange rangeTwo = [string rangeOfString:@")"]; 

if (rangeOne.location != NSNotFound && rangeTwo.location != NSNotFound) { 
    NSString *truncatedFeDetails = [string substringWithRange:NSMakeRange(rangeOne.location + 1, rangeTwo.location - rangeOne.location - 1)]; 
    NSLog(@"%@",truncatedFeDetails); 

} 
+0

ありがとうdude.Its働いています。 – akshay

2

が好きです

ステップ-1

//最初のため.

に基づいて文字列を分割例

Uここで myAgent(9953593875)

ステップ-2

の出力は

AmzAgent = [AmzAgent stringByReplacingOccurrencesOfString:@"myAgent(" 
               withString:@""]; 
AmzAgent = [AmzAgent stringByReplacingOccurrencesOfString:@")" 
               withString:@""]; 

NSLog(@"final ==%@",AmzAgent); 

のような文字列を置換ついにあなたは9953593875

enter image description hereとして出力を得る使用します、ここで

NSString *value = @"myAgent(9953593875).Amt:Rs.594.How I get 9953593875 only"; 

NSArray *arr = [value componentsSeparatedByString:@"."]; 

NSString * AmzAgent = [arr firstObject]; // or use [arr firstObject]; 

NSLog(@"with name ==%@",AmzAgent); 

+0

を試してみてはdynamic.Itを変更することができます。 – akshay

+0

@akshay - オハイオ州オクラホマOK、そしてそれはlovoの答えを取る、それはあなたに役立つだろう、私はコードの仲間をオーバーライドしたくない –

0

"myagentという" @この

NSString *str = @"myAgent(9953593875).Amt:Rs.594."; 
NSRegularExpression *regex = [NSRegularExpression 
           regularExpressionWithPattern:@"(?<=\\()\\d+(?=\\))" 
           options:NSRegularExpressionCaseInsensitive 
           error:nil]; 
NSString *result = [str substringWithRange:[regex firstMatchInString:str options:0 range:NSMakeRange(0, [str length])].range]; 
//result = 9953593875 
関連する問題