C# Regex.Split不保留换行符
我正在尝试根据C# Regex.Split不保留换行符,c#,split,newline,delimiter,C#,Split,Newline,Delimiter,我正在尝试根据\n\r\r\n中的任意一个来拆分字符串,但我不想从字符串中删除它们 我知道Regex.Split可以保留分隔符,但它是如何删除它们的 字符串内容 string contentString = @"幘䄍ਫ਼䱌㈰ぞ䙓ഊ幃噎ഊ幃䤱㝞䙏㈵ⰳ㕞䅁丬ㄲⰷ幆ㄶ幆䐀吀栀椀猀 昀漀爀洀愀琀 琀攀猀琀猀㨀幆匠ഊ幃䤱㝞䙏㈵ⰵ㕞䅁丬ㄲⰷ幆ㄶ幆䐀倀䐀䘀㐀㜀 ⠀䈀㜀⤀Ⰰ 䴀漀搀攀㨀 Ⰰ 䌀䤀㈀㤀 眀椀琀栀 瘀愀氀椀搀 挀栀愀爀愀挀琀攀爀猀 幆匍ਫ਼䍉ㄷ幆伲㔬㤵幂㝎ⰵⰬⰬⱞ䘱㙞䙄01234>A>B
\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
ਫ਼䙘⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⩞䙓"
请帮我做这件事
提前谢谢
Monika您应该在模式中添加捕捉括号:
如果在Regex.Split
表达式中使用了捕获括号,则任何
捕获的文本包含在结果字符串数组中。例如
如果将字符串“李子-梨”拆分为放在
捕获括号后,返回的数组包含一个字符串元素
包含连字符的
(bold是我的)
在你的情况下,要分开
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
ਫ਼䙘⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⩞䙓";
尝试使用分组
(…)
来保存delimeters:var result=Regex.Split(contentString,“(\n | \r\n | \r)”代码>你能详细解释一下吗?谢谢
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
ਫ਼䙘⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⨪⩞䙓";
string[] parts = Regex.Split(contentString, "(\n|\r\n|\r)");