问题
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
methodstringByReplacingOccurrencesOfString: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