我有几个字符串.有些人在开始时有空白,有些则没有.我想检查字符串是否以空格开头,如果是,则将其删除.
这是一段代码,用于获取input表示命令行的字符串(NSString或NSAttributedString),并将其解析为两个字符串,即命令cmd和参数args:
NSString* cmd = [[input mutableCopy] autorelease];
NSString* args = [[input mutableCopy] autorelease];
NSScanner* scanner = [NSScanner scannerWithString:[input string]];
[scanner scanUpToCharactersFromSet:[NSCharacterSet
whitespaceAndNewlineCharacterSet]
intoString:&cmd];
if (![scanner scanUpToString:@"magicstring666" intoString:&args]) args = @"";
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但魔术字符串是一个非常荒谬的黑客.而且,我完全不确定我是否正确使用自动释放功能.
补充:解决方案对初始空格也应该是健壮的.另外,我最初的输入字符串叫做both input和inStr.对不起,这个混乱.
补充:我相信上面的代码有一点是正确的,到目前为止答案不是args不应该有任何初始空格.