Remove Empty lines using Regular Expression

落爺英雄遲暮 提交于 2019-12-23 04:46:07

问题


I'm new to iOS develoment, I have the data like this below and i want to remove all the empty lines, Please let me know what the pattern to be applied:

I have used the pattern as @"(\r\n)" and replaced it with @"", but it does not work. Please help me to sort out this issue

#EXTINF:-1 tvg-name="seedocs" tvg-logo="RT",RT





http://rt.ashttp14.visionip.tv/live/rt-global-live-HD/playlist.m3u8

#EXTINF:-1 tvg-name="hsn" tvg-logo="hsn",HSN TV

rtsp://hsn.mpl.miisolutions.net:1935/hsn-live01/_definst_/mp4:420p500kB31

#EXTINF:-1 tvg-name="us" tvg-logo="us",USTwit

http://bglive-a.bitgravity.com/twit/live/high

#EXTINF:-1 tvg-name="ALJAZEERA" tvg-logo="aljazeera",Aljazeera

rtmp://aljazeeraflashlivefs.fplive.net/aljazeeraflashlive-live/aljazeera_eng_high

#EXTINF:-1 tvg-name="bbc" tvg-logo="bbc",BBC World News



#EXTINF:-1 tvg-name="vevo" tvg-logo="vevo",Vevo

http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch1/06/prog_index.m3u8

#EXTINF:-1 tvg-name="vevo2" tvg-logo="vevo2",Vevo 2

http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch3/06/prog_index.m3u8

#EXTINF:-1 tvg-name="1HD" tvg-logo="1HD",1HD

rtmp://109.239.142.62/live/livestream3

回答1:


Search: (?:\r?\n){2,} Replace: \r\n

\r?\n is both Windows and Linux compatible. {2,} means "two or more instances"

demo


If supported, you can use \R instead of \r?\n to include other types of Unicode newlines. This may be useful in the future, if not at present.




回答2:


[\r\n]+

You can use this instead.See demo.Replace by \n.

https://regex101.com/r/vV1wW6/26

NSString *string = @"Your multiline string";
NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[\r\n]+" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@"\n"];



回答3:


It is possible to use the NSString method
stringByReplacingOccurrencesOfString:withString:options:range:
with the option:
NSRegularExpressionSearch.

There is no need to use NSRegularExpression.

NSString *cleanText = [originalText stringByReplacingOccurrencesOfString:@"[\r\n]+" withString:@"\n" options:NSRegularExpressionSearch range:NSMakeRange(0, text.length)];

This will replace all runs of any combinations of \r and/or \n with a single \n thus elimination all bank lines.



来源:https://stackoverflow.com/questions/32691559/remove-empty-lines-using-regular-expression

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!