2016-11-29 75 views
1

特定字符後,我有一個從服務器來的字符串:除去空間中的字符串

<p>Test iOS Contact &nbsp;<a href=\"tel:(945) 369-8563\">(945) 369-8563</a></p> 

我想它出現在電話號碼10個字符電話後刪除任何空間。

我正在使用下面的代碼。

if ([serviceMessage containsString:@"tel:"]) { 
       NSUInteger location = [serviceMessage rangeOfString:@"tel:"].location + 4; 
    serviceMessage = [serviceMessage substringFromIndex:location]; 
    [serviceMessage substringWithRange:NSMakeRange(11,0)]; 
    serviceMessage =[serviceMessage substringToIndex:10]; 
    NSLog(@"New Trimed string:%@",serviceMessage); 
    serviceMessage = [serviceMessage stringByReplacingOccurrencesOfString:@" " withString:@""]; 
    NSLog(@"Final Trimed string:%@",serviceMessage); 
             } 
+0

可能無法理解你題。 Plz解釋? –

+0

從上面的字符串我想刪除電話號碼內的空間只有 –

+0

kindly共享最終結果 –

回答

0

有代碼來做到這一點

NSString * serviceMessage = @"<p>Test iOS Contact &nbsp;<a href=\"tel:(945) 369-8563\">(945) 369-8563</a></p>"; 
NSArray *arr = [serviceMessage componentsSeparatedByString:@":"]; 

NSString * newStr = [[arr objectAtIndex:1] stringByReplacingOccurrencesOfString:@" " withString:@""]; 
NSString * updatedString = [NSString stringWithFormat:@"%@%@",[arr firstObject],newStr]; 

希望它能幫助:)

+0

@Aditya Pandey有幫助嗎? –

+0

我的答案和你的區別是什麼? –

+0

@DharmbirSingh我沒見過你。 –

0
-(NSString *)removeSpacseFromPhoneNumber:(NSString *)string 
{ 
    NSString *resultString = @""; 
    NSString *phoneIndicatorString = @"tel:"; 

    NSRange range = [string rangeOfString:phoneIndicatorString]; 
    if (range.location == NSNotFound) { 
     NSLog(@"String does not contain tel:"); 
     return nil; 
    } 

    resultString = [string substringToIndex:range.location + phoneIndicatorString.length]; // copy up to and including tel: 
    NSString *phoneString = [string substringFromIndex:range.location + phoneIndicatorString.length + 1]; // copy from after tel: 
    NSString * convertedPhoneString = [phoneString stringByReplacingOccurrencesOfString:@" " withString:@""]; 

    return [resultString stringByAppendingString:convertedPhoneString]; 
} 

你可以調用這個:

NSString *result = [self removeSpacseFromPhoneNumber:yourString]; 
+0

嗨@vincent如果電話:有兩次使用不同的電話號碼,那麼我該怎麼辦? –

+0

如果電話號碼是2個字符串,只需調用該例程兩次。例程現在搜索tel:該位置後的所有空間(range.location)都被刪除。因此,您示例中的雙倍電話號碼也可正確處理。 – Vincent

+0

嗨@vincent它是從完整的字符串中刪除空間,而我必須刪除空間,只有前10個數字,這是在「電話:」後 –