Ios 为什么不想工作?有选择吗?

Ios 为什么不想工作?有选择吗?,ios,objective-c,xcode,cocoa,nsstring,Ios,Objective C,Xcode,Cocoa,Nsstring,应在NSLog中得出结论:David Matvienko;大卫;马特维延科。为什么不想工作?有选择吗?试试这个: NSString *firstNameLastName =@"DavidMatvienko"; NSArray *listItems = [firstNameLastName componentsSeparatedByString:@"David , Matvienko"]; NSLog(@"listItems %@", listItems); 您可以使用混合参数 Componen

应在NSLog中得出结论:David Matvienko;大卫;马特维延科。为什么不想工作?有选择吗?

试试这个:

NSString *firstNameLastName =@"DavidMatvienko";
NSArray *listItems = [firstNameLastName componentsSeparatedByString:@"David , Matvienko"];
NSLog(@"listItems %@", listItems);
您可以使用混合参数


ComponentSeparatedByString将按作为参数提供的内容在此处拆分字符串FirstName LastName。所以它按设计工作。如果这不是你想要的,你应该试着让你的问题更清楚。

你正在寻找的代码是

NSString *firstNameLastName =@"David, Matvienko";  
NSArray *listItems = [firstNameLastName componentsSeparatedByString:@", "];
NSLog(@"listItems %@", listItems);
这将输出:

NSString *firstNameLastName =@"David Matvienko";
NSArray *listItems = [firstNameLastName componentsSeparatedByString:@" "];
NSLog(@"listItems %@", listItems);

基本上,ComponentSeparatedByString方法:将根据分隔符分割给定的字符串

您完全误解ComponentSeparatedByString的作用

ComponentSeparatedByString的参数是字符串组件之间的分隔符。比如说

listItems (
 David
 Matvienko
)
发现Jim和Joe之间有一个逗号,Joe和James之间有一个逗号,因此结果是一个数组@[@Jim,@Joe,@James]

您正在使用@David,Matvienko作为分隔符字符串。如果字符串是@1David、Matvienko2David、Matvienko3,那么该方法将发现@1和@2之间以及@2和@3之间存在@David、Matvienko,因此结果将是@[@1、@2、@3]

由于您的字符串不包含该子字符串,因此将获得一个包含原始字符串的数组


不管是谁让你把@DavidMatvienko分成名字和姓氏都是相当愚蠢的。试着把迪弗雷斯特·凯利和莱昂纳多·迪卡普里奥分为名字和姓氏。您无法恢复的信息已丢失

我需要创建一个字符串。也许我选择了不正确的测试方法?@DavidDavid你能用输入和输出的例子来解释你的需求吗?是的,我需要从DavidMatvienko David Matvienko那里做。提示方法,如果你知道请..怎么做?我有点不明白我需要创建一个字符串。也许我选择了不正确的测试方法?是的,我需要从DavidMatvienko David Matvienko那里做。如果您知道,请提示方法..您的意思是您有@DavidMatvienko并希望从这两个字符串@David和@Matvienko?str1=@“David”str2=@“Matvienko”str3=@“David Matvienko您确定输入正确吗?您想从中提取名字和姓氏的输入字符串是什么!?是DavidMatvienko还是David Matvienko或David,Matvienko???@David str3=[NSString stringWithFormat:@%@%@,str1,str2];此链接将有助于you@Banto25是的,我需要从DavidMatvienko David Matvienko开始执行。如果您知道,请提示方法。@davidavid您应该使用正则表达式,然后相应地拆分,然后合并。此操作将失败,名称为GeorgeMcFly。
[@"Jim,Joe,James" componentsSeparatedByString:@","]
NSString* stringToTest = @"DavidMatvienko";
NSMutableString* resultString = [NSMutableString stringWithString:stringToTest];
NSCharacterSet *upperCaseSet = [NSCharacterSet uppercaseLetterCharacterSet];
NSRange upperCaseRange = [stringToTest rangeOfCharacterFromSet: upperCaseSet options:NSBackwardsSearch];
if (upperCaseRange.location != NSNotFound) {
    [resultString insertString:@" " atIndex:upperCaseRange.location]; }
NSLog(@"%@", resultString);