我收到以下格式的字符串。
ListName|Definition|Answer
以及如何将它分开:
String1 : ListName
String2 : Definition
String3 : Answer
在这里,根据价值的变化,这些词可以是deffer。
所以在任何其他方面,它可能像Hey|Name|Bye
。
但|
始终在字符串中。
是否可以计算字符串中|
的数量?
如何分开?
答案 0 :(得分:2)
你可以将它分开:
NSString *string = @"ListName|Definition|Answer";
NSArray *chunks = [string componentsSeparatedByString: @"|"];
现在你有一个像:
这样的数组chunk[0] = ListName
chunk[1] = Definition
chunk[2] = Answer
希望它可以帮助你......
答案 1 :(得分:2)
您正在寻找的方法内置于NSString类中。可以找到该课程的文档here。
使用的方法是。
- (NSArray *)componentsSeparatedByString:(NSString *)separator
//An example of this in action
NSString *exampleString = @"Test|some|strings";
NSArray *separatedStrings = [exampleString componentsSeparatedByString:@"|"];
此时,您可以对数组中的每个字符串执行任何操作,例如迭代它或访问序列中的特定字符串。
我已经包含了一个迭代返回的元素供参考的例子。
//This for example is a nice use of the NSArray enumeration
//Much easier than the standard for loop with multiple parameters
for(NSString *aComponent in separatedStrings) {
NSLog(@"A piece is: %@", aComponent);
//Do something with each string
}
答案 2 :(得分:2)
使用此:
NSArray *comps = [string componentsSeparatedByString: @"|"];
NSString *listName = [comps objectAtIndex:0];
NSString *definition = [comps objectAtIndex:1];
NSString *answer = [comps objectAtIndex:2];
答案 3 :(得分:2)
以下是整个代码:
NSArray * array = [string componentsSeparatedByString:@“|”];
NSMutableArray * mutableArray = [NSMutableArray arrayWithArray:array];
for(int i=0; i<[mutableArray count]; i++)
{
NSString *strData = [mutableArray objectAtIndex:i];
NSLog(@"%@",strData);
}
干杯。
答案 4 :(得分:1)
为输入字符串构建数组
NSArray *strArray = [string componentsSeparatedByString: @"|"];
然后填充此数组中的所有nsstrings。