[英]Regex.Split not keeping newline
我正在嘗試根據\\n
\\r
\\r\\n
拆分字符串,但我不想從字符串中刪除它們
我知道Regex.Split
可以保留定界符,但是一些如何刪除定界符
字符串內容
string contentString = @"幘䄍ਫ਼䱌㈰ぞ襬ഊ幃噎ഊ幃䤱㝞䙏㈵ⰳ㕞䅁丬ㄲⰷ幆ㄶ幆䐀吀梔椀猀 昀漀爀洀愀琀 琀攀猀琀猀㨀幆匠ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀攙攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀梔 瘀愀氀椀攙 挀梔愀爀愀挀琀攀爀猀 幆匍ਫ਼䍉ㄷ幆伲㔬㤵冪㝎ⰵⰬⰬⱞ䘱㙞䙄01234>A>B>CABC<A<B<C^襬ഊ幈䌍ਫ਼塚
^FX CRC Block No 1 ^FS
ਫ਼塁ഊ幌䰲〰幆匍ਫ਼䍖不ਫ਼䍉ㄷ幆伲㔬㌵幁䅎ⰱ㈬㝞䘱㙞䙄This format tests:^襬ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀攙攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀梔 椀渀瘀愀氀椀攙 挀梔愀爀愀挀琀攀爀猀 幆匍ਫ਼䍉ㄷ幆伲㔬㤵冪㝎ⰵⰬⰬⱞ䘱㙞䙄01234þ>A>B>CABC<A<B<C^襬ഊ幈䌍ਫ਼塚
^FX CRC Block No 2 ^FS
ਫ਼塁ഊ幌䰲〰幆匍ਫ਼䍖復ਫ਼䍉ㄷ幆伲㔬㌵幁䅎ⰱ㈬㝞䘱㙞䙄This format tests:^襬ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀攙攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀梔 瘀愀氀椀攙 挀梔愀爀愀挀琀攀爀猀Ⰰ 愀渀攙 挀漀攙攀 瘀愀氀椀攙愀琀椀漀渀 ⠀䌀嘀⤀ 幆匍ਫ਼䍉ㄷ幆伲㔬㤵冪㝎ⰵⰬⰬⱞ䘱㙞䙄01234>A>B>CABC<A<B<C^襬ഊ幈䌍ਫ਼塚
^FX CRC Block No 3 ^FS
ਫ਼塁ഊ幌䰲〰幆匍ਫ਼䍖復ਫ਼䍉ㄷ幆伲㔬㌵幁䅎ⰱ㈬㝞䘱㙞䙄This format tests:^襬ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀攙攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀梔 椀渀瘀愀氀椀攙 挀梔愀爀愀挀琀攀爀猀Ⰰ 愀渀攙 挀漀攙攀 瘀愀氀椀攙愀琀椀漀渀⠀䌀嘀⤀ 幆匍ਫ਼䍉ㄷ幆伲㔬㤵冪㝎ⰵⰬⰬⱞ䘱㙞䙄01234þ>A>B>CABC<A<B<C^襬ഊ幈䌍ਫ਼塚
^FX CRC Block No 4 ^FS
ਫ਼䙘⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⩞襬"
表達式使用
Regex.Split(contentString, "\n|\r\n|\r");
請幫我做
預先感謝莫妮卡
您應該在模式中添加捕獲括號 :
如果在
Regex.Split
表達式中使用了捕獲括號 ,則任何捕獲的文本都將包含在結果字符串數組中。 例如,如果在捕獲括號內的連字符上拆分字符串“ plum-pear”,則返回的數組將包含一個包含連字符的字符串元素。
( 黑體是我的)
就您而言,拆分
string contentString = @"幘䄍ਫ਼䱌㈰ぞ襬ഊ幃噎ഊ幃䤱㝞䙏㈵ⰳ㕞䅁丬ㄲⰷ幆ㄶ幆䐀吀梔椀猀 昀漀爀洀愀琀 琀攀猀琀猀㨀幆匠ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀攙攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀梔 瘀愀氀椀攙 挀梔愀爀愀挀琀攀爀猀 幆匍ਫ਼䍉ㄷ幆伲㔬㤵冪㝎ⰵⰬⰬⱞ䘱㙞䙄01234>A>B>CABC<A<B<C^襬ഊ幈䌍ਫ਼塚
^FX CRC Block No 1 ^FS
ਫ਼塁ഊ幌䰲〰幆匍ਫ਼䍖不ਫ਼䍉ㄷ幆伲㔬㌵幁䅎ⰱ㈬㝞䘱㙞䙄This format tests:^襬ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀攙攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀梔 椀渀瘀愀氀椀攙 挀梔愀爀愀挀琀攀爀猀 幆匍ਫ਼䍉ㄷ幆伲㔬㤵冪㝎ⰵⰬⰬⱞ䘱㙞䙄01234þ>A>B>CABC<A<B<C^襬ഊ幈䌍ਫ਼塚
^FX CRC Block No 2 ^FS
ਫ਼塁ഊ幌䰲〰幆匍ਫ਼䍖復ਫ਼䍉ㄷ幆伲㔬㌵幁䅎ⰱ㈬㝞䘱㙞䙄This format tests:^襬ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀攙攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀梔 瘀愀氀椀攙 挀梔愀爀愀挀琀攀爀猀Ⰰ 愀渀攙 挀漀攙攀 瘀愀氀椀攙愀琀椀漀渀 ⠀䌀嘀⤀ 幆匍ਫ਼䍉ㄷ幆伲㔬㤵冪㝎ⰵⰬⰬⱞ䘱㙞䙄01234>A>B>CABC<A<B<C^襬ഊ幈䌍ਫ਼塚
^FX CRC Block No 3 ^FS
ਫ਼塁ഊ幌䰲〰幆匍ਫ਼䍖復ਫ਼䍉ㄷ幆伲㔬㌵幁䅎ⰱ㈬㝞䘱㙞䙄This format tests:^襬ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀攙攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀梔 椀渀瘀愀氀椀攙 挀梔愀爀愀挀琀攀爀猀Ⰰ 愀渀攙 挀漀攙攀 瘀愀氀椀攙愀琀椀漀渀⠀䌀嘀⤀ 幆匍ਫ਼䍉ㄷ幆伲㔬㤵冪㝎ⰵⰬⰬⱞ䘱㙞䙄01234þ>A>B>CABC<A<B<C^襬ഊ幈䌍ਫ਼塚
^FX CRC Block No 4 ^FS
ਫ਼䙘⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⩞襬";
代替原始的"\\n|\\r\\n|\\r"
模式,您可以放置相同的模式,但要加上括號: "(\\n|\\r\\n|\\r)"
即
string[] parts = Regex.Split(contentString, "(\n|\r\n|\r)");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.