[英]How to convert an NSString to an NSArray?
我有一個NSString
,當我NSLog
,它看起來像這樣:
(
Music,
Music,
"Ao Dai Fashion Show"
)
我想將其轉換為NSArray,其中array [0] =音樂,array [1] =音樂,array [2] =奧黛時裝秀。
我嘗試使用以下方法先刪除():
NSString *jsonString = [str stringByReplacingOccurrencesOfString:@"()" withString:@""];
但是,我收到一個unrecognized selector sent to instance
。
我該如何實現?
謝謝
這是原始數組:
NSArray *oriArray = [dictionary objectForKey:someKey];
NSLog
:
(
{
"end_time" = "21:00";
"english_event" = Music;
"english_performer" = "DJ Happee From Channel 93.3";
"start_time" = "20:00";
},
{
"end_time" = "21:00";
"english_event" = Music;
"english_performer" = "Adam Cease";
"start_time" = "20:00";
},
{
"end_time" = "21:00";
"english_event" = "Ao Dai Fashion Show";
"english_performer" = "";
"start_time" = "20:00";
}
)
這是獲取包含內容Music, Music, "Ao Dai Fashion"
的新NSArray
的代碼:
NSArray *newArry = [oriArray valueForKey:@"english_event"];
但是,當我嘗試訪問其索引時, newArry
給我一個錯誤。
我認為您記錄的實際上不是NSString
。 請檢查其類型,因為它似乎已經是NSArray
的實例。 因此,您應該已經能夠做您想做的事。
-(void)parse:(NSDictionary *)dictionary {
NSArray *oriArray = [dictionary objectForKey:someKey];
NSMutableArray *arrray=[[NSMutableArray alloc] init];
for (NSDictionary *dic in oriArray)
{
[arrray addObject:[dic objectForKey:@"english_event"]];
}
}
使用它可能會幫助您。
抱歉,我沒什么好評論的,我只是想問一下,您嘗試過嗎?NSArray * myArray = [stringOi componentsSeparatedByString:@“,”]; (* stringOi是您的str),我嘗試使用以下示例,但此方法可行,請嘗試使用您的示例。
NSString * stringOi = [NSString stringWithFormat:@“(音樂,音樂,“奧黛時裝秀”)”]; NSLog(@“%@”,stringOi);
NSString *jsonString = [stringOi stringByReplacingOccurrencesOfString:@")" withString:@""];
NSString *jsonStringFinal = [jsonString stringByReplacingOccurrencesOfString:@"(" withString:@""];
NSLog(@"%@", jsonStringFinal);
NSArray *myArray = [jsonStringFinal componentsSeparatedByString:@","];
NSArray *myArray1 = [myArray objectAtIndex:0];
NSLog(@"%@",myArray1);
NSArray *myArray2 = [myArray objectAtIndex:1];
NSLog(@"%@",myArray2);
NSArray *myArray3 = [myArray objectAtIndex:2];
NSLog(@"%@",myArray3);
另外,也可以代替oriArray來獲取字典字典中的值,然后,
NSArray * myArray1 = [dict objectForKey:@“ english_event”]; NSString * Music = [myArray1 objectAtIndex:0];
希望最好的..!
兩件事情:
NSArray *myArray = [myDictionary objectForKey:@"Valid Key"]
並不意味着myArray
實際上是一個數組。 這只是意味着它是指向已轉換為NSArray
的對象的指針。
您可以使用[myDictionaryOrArray description]
將任何NSArray
或NSDictionary
轉換為字符串。
如果您不關心采取額外的步驟,並且知道在注銷數組時可以得到想要/期望的結果,那么您絕對可以將字符串放入數組中。 例如:
NSString *myString = [@[Music, Music, "Ao Dai Fashion Show"] description];
NSMutableArray *stringAsArray = [NSMutableArray arrayWithArray:[myString componentsSeparatedByString:@","]];
// this loop removes the white space before and after each word in the array
for (int i = 0; i < stringAsArray.count; i++) {
stringAsArray[i] = [stringAsArray[i] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
如果您需要更長的樣本更具體的代碼,我們將很樂意更新我的答案。
(
Music,
Music,
"Ao Dai Fashion Show"
)
這是一個數組而不是字符串 。
此數組在每個索引中包含三個字符串,音樂,音樂,奧黛時裝秀
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.