【发布时间】:2020-01-10 19:11:51
【问题描述】:
试图从 NSString 中间删除不必要的新行(3 个新行及更多)
删除中间新行的字符串: \n\n\n
Hello
my story is...
目标:
Hello
my story is...
没有成功的代码:
message = [message stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];
message = [message stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
message = [message stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
message = [message stringByReplacingOccurrencesOfString:@"\\n{3,}" withString:@"\n\n"];
message = [message stringByReplacingOccurrencesOfString:@"\r\n" withString:@"\n\n"];
【问题讨论】:
-
stringByTrimmingCharactersInSet只从末端删除,而不是从中间删除,所以这不是一个可行的选择。 -
参见stackoverflow.com/a/23336689/1226963(只需根据需要更改替换字符串)。
-
@rmaddy,您的代码答案是删除所有字符串的新行。我只想删除 3 个及以上的换行符。
-
我链接到的答案是您需要的通用解决方案。显然,您需要调整搜索和替换字符串以满足您的特定需求。
标签: objective-c nsstring