猿问

Objective-C分割NSString

有什么办法分割一个NSString按照每两个字符插入一个空格的格式?
比如我有一个字符串:"12345678",分割出来后变为:"12345678"?或者可以用数组实现?把"12345678"存入4个数组,每个数组都是一个两位整数?谢谢!
沧海一幻觉
浏览 354回答 2
2回答

慕斯王

1.使用正则表达式的方法(Obj-c里可能没有@Thinking所说的方法能直接使用,可能脚本语言会有)方法就是用正则表达式\d{1,2},意思是匹配1到2个数字并且是贪婪型匹配,如果能匹配2个数字字符时会尽量多的匹配。然后逐个拿到相应的substring就好了。NSString*yourString=@"123456789";NSError*error=NULL;NSRegularExpression*regex=[NSRegularExpressionregularExpressionWithPattern:@"\\d{1,2}"options:NSRegularExpressionCaseInsensitiveerror:&error];[regexenumerateMatchesInString:yourStringoptions:0range:NSMakeRange(0,[yourStringlength])usingBlock:^(NSTextCheckingResult*match,NSMatchingFlagsflags,BOOL*stop){NSString*num=[yourStringsubstringWithRange:match.range];NSLog(num);}];2.如果源字符串如lz所描述就是一个简单的长数字字符串,那也可以直接逐个取substring就好,没有特别的地方。NSString*str=@"123456789";NSMutableArray*arr=[NSMutableArrayarray];while([strlength]>0){if([strlength]==1){[arraddObject:[NSNumbernumberWithInt:[strintValue]]];break;}intindex=2;NSString*subStr=[strsubstringToIndex:index];str=[strsubstringFromIndex:index];[arraddObject:[NSNumbernumberWithInt:[subStrintValue]]];}for(NSNumber*numinarr){NSLog([numstringValue]);}

慕妹3146593

可以考虑使用正则切割的方式:"12345678".replace(/(\d{2})/g,'$1').replace(/^\s*|\s*$/g,'');//"12345678"
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答