我想使用大写字母来分隔字符串。 假设我有一个像“IAmABoy”的字符串。我想要一个像如何在iPhone中使用大写字符分割字符串
I
Am
A
Boy.
生成的字符串如何做到这一点?有没有示例代码?请告诉我这样做的方法。
我想使用大写字母来分隔字符串。 假设我有一个像“IAmABoy”的字符串。我想要一个像如何在iPhone中使用大写字符分割字符串
I
Am
A
Boy.
生成的字符串如何做到这一点?有没有示例代码?请告诉我这样做的方法。
那么简单就像迭代每个字符一样呢?假定inputString和outputString是NSString的这样的事情应该工作:
NSUInteger length = [inputString length];
for (NSUInteger i = 0; i < length; i++)
{
char c = [inputString characterAtIndex:i];
if (i > 0 && c >= 65 && c <=90)
{
[outputString appendFormat:@"\n%c", c];
}
else
{
[outputString appendFormat:@"%c", c];
}
}
我建议导入一个正则表达式库或看看NSScanner。
直视RegexKitLite
尝试使用-rangeOfCharacterFromSet:基于你在哪里找到大写字符分割的字符串。
感谢名单卡森为您reply.But行
[outputString appendFormat:@"\n%c", c];
througing一些exception.I有修改代码以下面的一个它似乎在为我工作。
NSString *[email protected]"IAmABoy"; NSString *outputString; NSString *[email protected]""; NSUInteger length = [inputString length]; for (NSUInteger i = 0; i < length; i++) { char c = [inputString characterAtIndex:i]; if (i > 0 && c >= 65 && c <=90) { //[outputString appandFormate:@"\n%c", c]; outputString=[NSString stringWithFormat:@"%c", c]; string = [NSString stringWithFormat:@"%@%@%@",string,@" ",outputString]; NSLog(@"%@", string); } else { //[outputString appendFormat:@"%c", c]; outputString=[NSString stringWithFormat:@"%c", c]; //NSLog(@"%@",outputString); string = [NSString stringWithFormat:@"%@%@",string,outputString]; NSLog(@"%@", string); } }
感谢名单再次向所有的合作和帮助。
extension String { public func stringFromPascalCase() -> String { return self.characters.enumerate().map { (String($1).componentsSeparatedByCharactersInSet(.uppercaseLetterCharacterSet()).joinWithSeparator("").isEmpty && $0 > 0) ? " \($1)" : "\($1)" }.joinWithSeparator("") } }
这应该做的伎俩。
let x = "EastMayerDrive".stringFromPascalCase() print(x) /// East Mayer Drive
如果他们是评论,不要添加答案。相反,使用“添加评论”链接来添加评论到现有的答案。 – 2009-10-19 12:41:36