Я пытаюсь разбить строку на основе \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");
Пожалуйста, помогите мне это сделать
заранее спасибо Моника
Можете подробно объяснить ?? Спасибо
Вы должны добавить в паттерн захват скобок:
If capturing parentheses are used in a
Regex.Split
expression, any captured text is included in the resulting string array. For example, if you split the string "plum-pear" on a hyphen placed within capturing parentheses, the returned array includes a string element that contains the hyphen.
(смелый мой)
В вашем случае разделить
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)");
Попробуйте использовать группировка
(...)
для сохранения разделителей:var result = Regex.Split(contentString, "(\n|\r\n|\r)");