Я пытаюсь удалить несколько строк новой строки/возврат каретки из строки, которая может отображаться в любом шаблоне (строки из API-интерфейсов социальной сети - TW, FB, YT). Мне удалось удалить почти все комбинации, но я не могу удалить несколько повторений «\ r \ n» или «\ n \ r».Удалить несколько новых строк/возврат каретки из строки
Что бы я хотел: «Линия1 \ r \ nLine \ n \ n \ n \ n \ n \ n \ n \ nЛиния3 \ r \ r \ r \ rLine \ r \ n \ "line5 \" \ п \ г \ п \ rLine6 \ rLine7 \ г \ п \ г \ nLine8 \ г \ г \ г \ г \ г \ г \ г \ г \ п \ N \ N \ rLine9 \ N \ N \ п \ п \ п \ г \ г \ г \ г \ nLine10 \ nLine11 \ п \ п \ п \ п»
стать:
Line1
Line2
Line3
Line4
"Line5"
Line6
Line7
Line8
Line9
Line10
Line11
, но в настоящее время я получаю:
Line1
Line2
Line3
Line4
"Line5"
Line6
Line7
Line8
Line9
Line10
Line11
Это код, который у меня есть:
NSMutableString *testString = [[NSMutableString alloc]init];
[testString appendString:@"Line1\r\nLine2\n\n\n\n\n\n\n\nLine3\r\r\r\r\rLine4\r\n\"Line5\"\n\r\n\rLine6\rLine7\r\n\r\nLine8\r\r\r\r\r\r\r\r\n\n\n\rLine9\n\n\n\n\n\r\r\r\r\nLine10\nLine11\n\n\n\n"];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(\r+)(\\n+)?(\r+)?|(\\n+)(\r+)?(\\n+)?|(\\n\r+)|(\r\\n+)" options:NSRegularExpressionCaseInsensitive error:nil];
[regex replaceMatchesInString:testString options:0 range:NSMakeRange(0, [testString length]) withTemplate:@"\n"];
Я бы подумал, что ios также принимает классы символов и будет использовать это регулярное выражение: '[\ r \\ п] + '. В принципе, он заменит в следующем коде любые последующие '\ r' и' \\ n' на '\ n'. – Jerry
@ Джерри, вы должны это ответить –