我是iOS开发新手,我有以下数据,我想删除所有空行,请让我知道应用的模式:
我已将模式用作@“(\ r \ n)”并将其替换为@“”,但它不起作用。请帮我解决这个问题
#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
答案 0 :(得分:4)
[\r\n]+
你可以改用它。参见demo。替换\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"];
答案 1 :(得分:1)
搜索:(?:\r?\n){2,}
替换:\r\n
\r?\n
兼容Windows和Linux。 {2,}
表示"两个或更多实例"
如果支持,您可以使用\R
代替\r?\n
来包含其他类型的Unicode换行符。如果不是这样,这可能在将来有用。
答案 2 :(得分:0)
可以使用NSString
方法
stringByReplacingOccurrencesOfString:withString:options:range:
选项:
NSRegularExpressionSearch
。
无需使用NSRegularExpression
。
NSString *cleanText = [originalText stringByReplacingOccurrencesOfString:@"[\r\n]+" withString:@"\n" options:NSRegularExpressionSearch range:NSMakeRange(0, text.length)];
这将取代\r
和/或\n
与\n
的任意组合的所有续行,从而消除所有银行行。