我可以总结一下字符串:
result=[firstString stringByAppendingString:secondString];
我可以从另一个字符串中减去一个字符串:
result=[firstString stringByReplacingOccurencesOfString:secondString withString:@""];
你能帮我把字符串分成相等的字符串吗(例如我有字符串@" Qwerty",我想把它除以3并得到数组@ [@" Qw" ,@"呃",@" ty"],或者除以2来得到@ [@" Qwe",@" rty" ])?谢谢!
答案 0 :(得分:1)
请使用功能[NSString substringWithRange:]
。更多信息here。
是大卫,听到你...... !!!
贝娄是代码。
for(int i=0;i<strToDivide.length-iLengthToDivide;i=i+iLengthToDivide)
{
NSString *strPart=[strToDivide substringWithRange:(i,iLengthToDivide)];
[arrToStoreParts addObject:strPart];
//if the length of string is not perfectly divisible by iLengthToDivide
if(i+iLengthToDivide>strToDivide.length)
{
strPart=[strToDivide substringWithRange:(i,strToDivide.length-i)];
[arrToStoreParts addObject:strPart];
}
strPart=nil;
}
}
arrToStoreParts将包含结果集中的所有字符串。
我认为在for循环中捆绑这个函数非常简单,并且他能够做到这一点,因为他知道其他字符串函数,所以最初没有给出代码。希望它有所帮助:))
答案 1 :(得分:1)
你可以得到字符串长度除以它所需的数字和它的基数创建NSRange:
NSString *str = @"Qwerty";
int len = str.length;
int devider = 2; // Change it to control result length
for (int i = 0; i < len; i += devider)
{
// You should do some validation to make sure your location and length is in range f string length
NSRange ran = NSMakeRange(i, devider);
NSString *res = [str substringWithRange:ran];
NSLog(@"res: %@", res);
}
您可以创建NSString类别以达到您要求的结果。 希望这有帮助。
答案 2 :(得分:1)
NSMutableArray* array1 = [[NSMutableArray alloc] init];
int divide_factor = <your divide_factor>;
while (yourString.length) {
NSString* substring = [yourString substringWithRange:NSMakeRange(0, MIN(divide_factor, yourString.length))];
[array1 addObject:substring];
yourString = [yourString stringByReplacingCharactersInRange:NSMakeRange(0, MIN(divide_factor, yourString.length)) withString:@""];
}
优点是,无论字符串的长度如何,它都不会抛出任何异常。最后一个子字符串将是除法后的剩余子字符串。
测试案例:
(1)
yourString = @"abcdefghijklmnopqrstuvwxyz";
divide_factor = 3;
然后结果是: ( ABC, 闪避, GHI, JKL, MNO, 焊接工艺评定, STU, VWX, YZ )
(2)
yourString = @"abcdefghijklmnopqrstuvwxyz";
divide_factor = 7;
结果: ( ABCDEFG, hijklmn, opqrstu, VWXYZ )