如何从NSString中删除\n第一个字符?
编辑:只是为了澄清,我想要做的是:如果字符串的第一行包含\n字符,则删除它,否则什么也不做。
例如:如果字符串是这样的:
@"\nhello, this is the first line\nthis is the second line"
而不是在第一行不包含换行符的字符串:
@"hello, this is the first line\nthis is the second line."
我希望这能让事情变得更清楚。
发布于 2009-06-17 05:51:49
这应该能起到作用:
NSString * ReplaceFirstNewLine(NSString * original)
{
NSMutableString * newString = [NSMutableString stringWithString:original];
NSRange foundRange = [original rangeOfString:@"\n"];
if (foundRange.location != NSNotFound)
{
[newString replaceCharactersInRange:foundRange
withString:@""];
}
return [[newString retain] autorelease];
}
发布于 2009-06-17 05:51:22
[string stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]
我将从任何类型的换行符中裁剪字符串,如果这是你想要的。
[string stringByReplacingOccurrencesOfString:@"\n" withString:@"" options:0 range:NSMakeRange(0, 1)]
如果换行符是字符串中的第一个字符,则会完全按照您的要求进行操作并删除换行符
发布于 2009-06-17 22:52:08
您可以只使用原始字符串并使用以下代码来简化代码,而不是创建NSMutableString并使用一些保留/释放调用:(需要10.5+)
NSRange foundRange = [original rangeOfString:@"\n"];
if (foundRange.location != NSNotFound)
[original stringByReplacingOccurrencesOfString:@"\n"
withString:@""
options:0
range:foundRange];
(详细信息请参见-stringByReplacingOccurrencesOfString:withString:options:range:
。)
最后一次调用方法调用的结果甚至可以安全地分配回原始的,如果使用,您可以先自动释放那里的内容,这样就不会泄漏内存。
https://stackoverflow.com/questions/1005281
复制相似问题