NSString Question
I'm trying to extract the names from this list:
new String:  blood cz            TheDeAtH              TBH DragonFire   Scotsman          King Kot            BobLeeSwagger          AffeMitWaffe    Jackobo          D L  fatality         Jack bobo           telex             apa           Tiger            zip     Guronzan          noobmaster           fear           piotrekjankiewi         RoCJackal 
These names will then have to be written into an array. I've done this so far:
NSString *newString = [[test componentsSeparatedByCharactersInSet:
       [[NSCharacterSet letterCharacterSet] invertedSet]] 
         componentsJoinedByString:@";"]; //yes there are spaces in the above list, previously they were replaced by ;
I then load it into an array:
 NSArray *chunks = [newString componentsSeparatedByString:@";"];
This works, but for the name "blood cz" for example, it takes blood and cz as a seperate thing in the array, but i need them to be together.
Does anyone have an idea of how I could achieve this? I've been breaking my head over this, because Im not able to seperate the strings. When taking the whitespaces out, its all together and I can seperate the strings, reason being that these strings are being taken from开发者_JAVA技巧 a gameserver website, where playernames change...
This worked
NSString         *mystring = @"blood cz            TheDeAtH              TBH DragonFire   Scotsman          King Kot            BobLeeSwagger          AffeMitWaffe    Jackobo          D L  fatality         Jack bobo           telex             apa           Tiger            zip     Guronzan          noobmaster           fear           piotrekjankiewi         RoCJackal";
NSString *mystring2 = [mystring stringByReplacingOccurrencesOfString:@"  "  withString:@";"];
    NSCharacterSet   *separator   = [NSCharacterSet     characterSetWithCharactersInString:@";"];
NSArray          *chunks      = [mystring2 componentsSeparatedByCharactersInSet:separator];
    for(NSString * myStr in chunks) {
        NSLog(myStr);
    }
You still have to left trim the names (cutting of leading spaces) but I left some work for you.
Also I want to add that this is best called a "hack". Because it will NOT WORK anymore if a user enters a double space in a name.
So I would take a step back and ask myself why I get such a lousy string to interpret and try to solve the problem at the source of the problem ... This is my core answer: Check out whether you could get a better string.
You can't just replace the whitespaces with ; only if there are two whitespaces?
I am not sure but this one looks for me like a tab \t rather than a space. Another solution is like Jonas's one. You can try to separate 2 strings only when there are more than 2 spaces between them
 加载中,请稍侯......
      
精彩评论