我想使用大寫字母來分隔字符串。 假設我有一個像「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