检索 JSON 字符串中破折号 (-) 前后的数据?

Retrieve data before and after dash (-) in JSON string?

我想知道是否可以在检索到的 json 字符串中检索 "dash" 前后的数据。例如,这是 json 字符串:

    {
        "position" : "1", 
        "artist" : "Avicii - Stories", 
        noWeeks" : "32", 

        }, 

我想创建一个没有“- Stories”的 NSString "Avicii"。相反,我想要另一个没有 "Avicii -"

的 NSString "Stories"

试试这个

NSArray *arr =[@"Avicii - Stories" componentsSeparatedByString:@" - "];

备注

-前后要有空格,否则无效。如果字符串是 Avicii- StoriesAvicii -StoriesAvicii-Stories ,则此方法无法将组件和 return 和 nil 数组分开。所以我建议像这样使用上面的方法 -

NSArray *arr =[@"Avicii - Stories" componentsSeparatedByString:@"-"];

并删除空格。

如果它已经在你的字符串中

选择-1

NSString *GetAvicii = @"Avicii - Stories"
NSArray  *getArra = [GetAvicii componentsSeparatedByString:@" - "];
NSString *finalStr = getArra.firstObject; // or use getArra[0] // or use [getArra objectAtIndex:0];

这里的 dict1 是您的 json 词典数据。

NSString *str=[[[dict1 objectForKey:@"artist"] componentsSeparatedByString:@"-"] objectAtIndex:0];

str 包含字符串 "Avicii"

你可以这样做。

NSString *artist = @"Avicii - Stories";
NSArray *artistArray = [artist componentsSeparatedByString:@" - "];
NSString *subString = [artistArray objectAtIndex:0];
NSLog(@"%@",subString);
NSArray *artistInfo = [@"Avicii - Stories" componentsSeparatedByString:@" - "];

NSString *singer = artistInfo.firstObject;
NSString *song = artistInfo.lastObject;