objective-c – 通过重复另一个字符串给定的次数创建NSString

objective-c – 通过重复另一个字符串给定的次数创建NSString,第1张

概述这应该很容易,但我很难找到最简单的解决方案。 我需要一个NSString等于另一个字符串连接自身给定的次数。 为了更好的解释,考虑下面的python示例: >> original = "abc""abc">> times = 22>> result = original * times"abcabc" 任何提示? 编辑: 我打算发布一个类似于Mike McMaster’s answer的 这应该很容易,但我很难找到最简单的解决方案。

我需要一个Nsstring等于另一个字符串连接自身给定的次数。

为了更好的解释,考虑下面的python示例:

>> original = "abc""abc">> times = 22>> result = original * times"abcabc"

任何提示?

编辑:

我打算发布一个类似于Mike McMaster’s answer的解决方案,看看这个实现从Omniframeworks:

// returns a string consisting of 'aLenght' spaces+ (Nsstring *)spacesOfLength:(unsigned int)aLength;{static NSMutableString *spaces = nil;static NSLock *spacesLock;static unsigned int spacesLength;if (!spaces) {spaces = [@"                " mutablecopy];spacesLength = [spaces length];    spacesLock = [[NSLock alloc] init];}if (spacesLength < aLength) {    [spacesLock lock];    while (spacesLength < aLength) {        [spaces appendString:spaces];        spacesLength += spacesLength;    }    [spacesLock unlock];}return [spaces substringToIndex:aLength];}

从文件中再现的代码:

Frameworks/OmniFoundation/OpenStepExtensions.subproj/Nsstring-OFExtensions.m

在OpenExtensions框架从Omni Frameworks由The Omni Group。

解决方法 有一个方法叫stringBypaddingTolength:withString:startingAtIndex ::

[@"" stringBypaddingTolength:100 withString: @"abc" startingAtIndex:0]

注意,如果你想要3 abc的,比使用9(3 * [@“abc”长度])或创建类别像这样:

@interface Nsstring (Repeat)- (Nsstring *)repeatTimes:(NSUInteger)times;@end@implementation Nsstring (Repeat)- (Nsstring *)repeatTimes:(NSUInteger)times {  return [@"" stringBypaddingTolength:times * [self length] withString:self startingAtIndex:0];}@end
总结

以上是内存溢出为你收集整理的objective-c – 通过重复另一个字符串给定的次数创建NSString全部内容,希望文章能够帮你解决objective-c – 通过重复另一个字符串给定的次数创建NSString所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1047554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存