我有以下列格式如何將字符串轉換爲帶分隔符的數組?
myString = "cat+dog+cow"
我需要存儲由+到一個陣列分離的每個字符串的字符串。 如:
myArray[0] = cat
myArray[1] = dog
myArray[2] = cow
誰能告訴我正確的方式做到這一點?
我有以下列格式如何將字符串轉換爲帶分隔符的數組?
myString = "cat+dog+cow"
我需要存儲由+到一個陣列分離的每個字符串的字符串。 如:
myArray[0] = cat
myArray[1] = dog
myArray[2] = cow
誰能告訴我正確的方式做到這一點?
componentsSeparatedByString:
拆分字符串和數組返回結果。
NSArray *myArray = [myString componentsSeparatedByString:@"+"];
[myArray objectAtIndex:0];//cat
[myArray objectAtIndex:1];//dog
[myArray objectAtIndex:2];//cow
使用NSArray的componentsSeparatedByString:
功能。
NSString string = @"hai-welcome";
NSArray myArray = [string componentsSeparatedByString:@"-"];
NSString* haiString = [myArray objectAtIndex:0];
NSString* welcomeString = [myArray objectAtIndex:1];
我將在第一時間追加訪問模式,然後 - 和我的消息..我需要分開訪問模式和message.if我吐出像一個數組這將是一個問題,如果我的消息包含 - 除了我追加的字符 - – Christina 2011-05-16 12:16:04
這是VERT簡單..
NSString * test = @"Hello-hi-splitting-for-test";
NSArray * stringArray = [test componentsSeparatedByString:@"-"];
// Now stringArray will contain all splitted strings.. :)
希望這有助於...
你不想再使用陣列通過每個字符迭代我...
NSMutableString * splittedString = nil;
for(int i=0;i<test.length;i++){
unichar character = [test characterAtIndex:0];
if (character=='-') {
if (splittedString!=nil) {
NSLog(@"String component %@",splittedString);
[splittedString release];
splittedString = nil;
}
} else {
if (splittedString==nil) {
splittedString = [[NSMutableString alloc] init];
}
[splittedString appendFormat:@"%C",character];
}
}
if (splittedString!=nil) {
NSLog(@"String last component %@",splittedString);
[splittedString release];
splittedString = nil;
}
那就是所有...
我會在第一次追加訪問模式,然後 - 和我的消息..我需要分開訪問模式和message.if我吐出像一個數組它將是一個問題,如果我的消息包含 - 字符以外的字符我追加了 - Sharmain 0秒前編輯 – Christina 2011-05-16 12:16:15
NSArray *strArray = [myString componentsSeparatedByString:@"-"];
firstString = [strArray objectAtIndex:0];//Hai
secondString = [strArray objectAtIndex:1];//Welcome
NSArray *lines = [string componentsSeparatedByString:@"-"];
的第一個值將被存儲在的線和第二個值的第0索引將被存儲在的線 1號索引..
爲什麼不陣列?
這將是解決辦法,如果你正在處理一個字符串:
NSString *mySstring = @"hai-welcome";
NSMutableArray *anArray=[[NSMutableArray alloc] initWithArray:[componentsSeparatedByString: @"-"]];
而且每個字從0-N被存儲在相應的位置上。
試試這個。 :)
如果你不願意使用數組,可以考慮一下這款 -
NSString *accessMode, *message;
NSScanner *scanner = [NSScanner scannerWithString:@"hai-welcome"];
NSCharacterSet *hyphenSet = [NSCharacterSet characterSetWithCharactersInString:@"-"];
[scanner scanUpToCharactersFromSet:hyphenSet intoString:&accessMode];
[scanner scanCharactersFromSet:hyphenSet intoString:nil];
[scanner scanUpToCharactersFromSet:[NSCharacterSet characterSetWithCharactersInString:@""] intoString:&message];
NSArray *myWords = [myString componentsSeparatedByString:@"+"];
你可以找到這個一個非常簡單的
NSString *str = @"cat+dog+cow";
NSArray *arr = [str componentsSeparatedByString:@"+"];
NSLog(@"Array items %@",arr);
OUTPUT:
數組項 ( 貓,狗 , 牛 )
簡單代碼:
NSString *myString = [[NSString alloc] initWithString:@"cat+dog+cow"];
NSArray *resultArray = [tempString componentsSeparatedByString:@"+"];
NSLog(@"1. %@ 2. %@ 3. %@",[resultArray objectAtIndex:0],[resultArray objectAtIndex:1],[resultArray objectAtIndex:2]);
試試這個:
NSString *str = @"cat+dog+cow" ;
NSArray *array = [str componentsSeparatedByString:@"+"];
NSLog(@"%@",array) ;
@Sharman:只是爲了完整性:反過來是:'NSString * myString = [myArray componentsJoinedByString:@「+」];'。 – Regexident 2011-05-24 14:23:00
@Anish你先生,是天才:) +1 – Supertecnoboff 2014-05-18 08:56:42