有关提取歌词中字符串的作业

声明部分代码:

import

import “SongObj.h”

@implementation SongObj

+(SongObj )songWithContentString:(NSString )string{
SongObj *songObj = [SongObj new];
// [songObj handleWithStringNew:string];
[songObj handleWithString:string WithObj:songObj];
return songObj;
}
-(void)handleWithString:(NSString )string WithObj:(SongObj )songObj{
NSMutableString *mString = [NSMutableString stringWithString:string];
NSMutableArray *array = [NSMutableArray array];
NSRange range = [mString rangeOfString:@”,”];
while (range.location != NSNotFound) {
NSString *subString = [mString substringWithRange:NSMakeRange(0, range.location)];
NSRange subRange = [subString rangeOfString:@”:”];
NSString * targetString = [subString substringWithRange:NSMakeRange(subRange.location+1, subString.length-subRange.location-1)];

    [array addObject:targetString];
    [mString deleteCharactersInRange:NSMakeRange(0, range.location+1)];
    range = [mString rangeOfString:@","];
    } 
songObj.ret = [array objectAtIndex:0];
songObj.song = [array objectAtIndex:1];
songObj.singer = [array objectAtIndex:2];
songObj.link = [array objectAtIndex:3];
songObj.lrc =  [self handleWithString:mString];

}

-(NSArray )handleWithString:(NSMutableString )mString{
NSMutableArray *mArray = [NSMutableArray array];
NSRange range = [mString rangeOfString:@”]”];
NSString *subString = [mString substringWithRange:NSMakeRange(0, range.location)];
NSRange subRange = [subString rangeOfString:@”ti”];
if (subRange.location != NSNotFound) {
NSMutableDictionary *mDic = [NSMutableDictionary dictionary];
[mDic setValue:[subString substringWithRange:NSMakeRange(subRange.location+subRange.length+1, subString.length-(subRange.location+subRange.length+1))] forKey:@”ti”];
[mArray addObject:mDic];
}

[mString deleteCharactersInRange:NSMakeRange(0, range.location+1)];

//添加 ar
 range = [mString rangeOfString:@"]"];
subString = [mString substringWithRange:NSMakeRange(0, range.location)];
subRange = [subString rangeOfString:@"ar"];
if (subRange.location != NSNotFound) {
    NSMutableDictionary *mDic = [NSMutableDictionary dictionary];
    [mDic setValue:[subString substringWithRange:NSMakeRange(subRange.location+subRange.length+1, subString.length-(subRange.location+subRange.length+1))] forKey:@"ar"];
    [mArray addObject:mDic];
}
[mString deleteCharactersInRange:NSMakeRange(0, range.location+1)];

//添加 al
range = [mString rangeOfString:@"]"];
subString = [mString substringWithRange:NSMakeRange(0, range.location)];
subRange = [subString rangeOfString:@"al"];
if (subRange.location != NSNotFound) {
    NSMutableDictionary *mDic = [NSMutableDictionary dictionary];
    [mDic setValue:[subString substringWithRange:NSMakeRange(subRange.location+subRange.length+1, subString.length-(subRange.location+subRange.length+1))] forKey:@"al"];
    [mArray addObject:mDic];
}
[mString deleteCharactersInRange:NSMakeRange(0, range.location+1)];

[mString deleteCharactersInRange:[mString rangeOfString:@"["]];

range = [mString rangeOfString:@"["];
while (range.location != NSNotFound) {
    subString = [mString substringWithRange:NSMakeRange(0, range.location)];
    subRange = [mString rangeOfString:@"]"];
    NSString *key = [subString substringWithRange:NSMakeRange(0, subRange.location)];
    NSString *value = [subString substringWithRange:NSMakeRange(subRange.location+1, subString.length-(subRange.location+1))];
    NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
    [dictionary setValue:value forKey:key];
    [mArray addObject:dictionary];

    [mString deleteCharactersInRange:NSMakeRange(0, range.location+1)];

    range = [mString rangeOfString:@"["];
}

subRange = [mString rangeOfString:@"]"];
NSString *key = [mString substringWithRange:NSMakeRange(0, subRange.location)];
NSString *value = [mString substringWithRange:NSMakeRange(subRange.location+1, subString.length-(subRange.location+1))];
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setValue:value forKey:key];
[mArray addObject:dictionary];



return mArray;

}

main.m部分代码

import

import “SongObj.h”

int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *urlString = @”http://doido.sinaapp.com/qmusic/api.php?song=九月&singer=许巍”;
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:4];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [NSData dataWithContentsOfURL:url];
NSString *string = [[NSString alloc] initWithData:data encoding:4];
SongObj *songObj = [SongObj songWithContentString:string];

}
return 0;

}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值