2017-01-31 73 views
1

轉換我有數組,它是保存以下值:如何數組的字符串值

globalarray_beacon: (
"(01000466)", 
"(01000008)", 
"(01000003)", 
"(01000001)", 
"(01000006)", 
"(01000004)", 
"(01000007)", 
"(01000005)", 
"(01000469)", 
"(01000468)", 
"(01000420)", 
"(01000002)", 
"(01000444)", 
"(01000463)", 
"(01000468)", 
"(01000466)", 
"(01000001)", 
) 

我想轉換這個值到以下幾點:

globalarray_beacon: ( 
01000468, 
01000004, 
01000006, 
01000420, 
01000444, 
01000466, 
01000469, 
01000003, 
01000005, 
01000008, 
01000001, 
01000007, 
01000002 
) 

try1。

NSArray *items = [theString componentsSeparatedByString:@" " "]; 

try2。

NSString *stringWithoutSpaces = [myString 
    stringByReplacingOccurrencesOfString:@"()" withString:@""]; 

try3。

for (int i=0; i<array_lastname.count; i++) { 


    [array_data addObject:[[array_lastname objectAtIndex:i] componentsSeparatedByString:@"()"]]; 

} 

如何轉換數組的值我必須嘗試很多事情。如何將字符串值轉換爲數據。 在此先感謝。

+1

請問您可以添加'嘗試多事情? –

+0

@RonakChaniyara看到編輯 –

+0

你是怎麼得到'「(01000466)」'?這個問題是否可以用於檢索數據呢?因爲,您可以確實刪除括號,但「真正的」修復可能在之前。 – Larme

回答

5

NSString有一個方便的方法stringByTrimmingCharactersInSet

NSArray *globalarray_beacon = @[@"(01000466)", @"(01000008)", @"(01000003)", @"(01000001)", @"(01000006)", @"(01000004)", @"(01000007)", @"(01000005)", @"(01000469)", @"(01000468)", @"(01000420)", @"(01000002)", @"(01000444)", @"(01000463)", @"(01000468)", @"(01000466)", @"(01000001)"]; 
NSMutableArray *trimmedArray = [NSMutableArray array]; 
for (NSString * string in globalarray_beacon) { 
    [trimmedArray addObject:[string stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"()"]]]; 
} 
NSLog(@"%@", trimmedArray); 
+0

感謝@vadian它的工作非常感謝您節省我的時間。 –

1

試試這個下面的代碼

NSString *tempString = [[arrayOfStrings objectAtIndex:i] stringByReplacingOccurrencesOfString:@"(" withString:@""]; 
tempString = [tempString stringByReplacingOccurrencesOfString:@")" withString:@""]; 
[arrayOfConvertedStrings addObject:tempString]; 
0

試試這個

NSArray *array = [[NSArray alloc]initWithObjects:@"(12345)",@"(12345)", nil]; 
    NSMutableArray *obj = [NSMutableArray array]; 
    for(NSString *str in array){ 
     NSString *temp = [str stringByReplacingOccurrencesOfString:@"(" withString:@""]; 
     temp = [temp stringByReplacingOccurrencesOfString:@")" withString:@""]; 
     [obj addObject:temp]; 
    } 
+0

@downvoter你能解釋這裏有什麼問題嗎? – karthikeyan

+0

這是對的,但很快,爲什麼有人投票。討厭這些不尊重他人的人至少給理由倒下。 –

+0

@karthiyan我在Gmail上。 –

1

試試這個:

NSMutableArray *arr =[[NSMutableArray alloc]initWithObjects:@"(123)",@"(321)", nil]; 
    for (int i = 0; i<arr.count; i++) { 
     NSString *str = [arr objectAtIndex:i]; 
     str = [str stringByReplacingOccurrencesOfString:@"(" withString:@"" ]; 
     str = [str stringByReplacingOccurrencesOfString:@")" withString:@"" ]; 
     [arr replaceObjectAtIndex:i withObject:str]; 
    } 
0

我會去一個類別第一,那會幫助你瞬間,即使你不想花資源轉換您的整個陣列(原因)。


它會是這樣的:

#import <Foundation/Foundation.h> 

@interface NSString (MyTrimmedString) 

- (NSString *)trimmed; 

@end 

,當然,基本實現:

@implementation NSString (MyTrimmedString) 

- (NSString *)trimmed { 
    return [self stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"()"]]; 
} 

@end 

那麼你可以直接塗抹於字符串,如例如:

NSString *_thingy = @"(01000466)".trimmed; // that will present "01000466" 

,甚至在你的陣列的物品,例如像:

NSArray *_array = [NSArray arrayWithObjects:@"(01000466)", @"(01000008)", @"(01000003)", @"(01000001)", @"(01000006)", nil]; 
NSString *_thingy = [_array firstObject].trimmed; // that will present "01000466" 

從這裏開始,創建一個新的陣列(如有必要)是小菜一碟:

NSMutableArray *_newArray = [NSMutableArray array]; 
for (NSString * obj in _array) { 
    [_newArray addObject:obj.trimmed]; 
} 

,讓你與修剪元素陣列,如:

// ("01000466", "01000008", "01000003", "01000001", "01000006") 
相關問題