C#使用Regex.Split拆分大字符串。必须保留定界符

乔治

我正在尝试使用正则表达式将文本墙分割成一个数组,并且效果很好,但是我不希望它删除我正在使用的分隔符。我已经研究了前瞻功能,但是我无法使其正常工作或根本无法工作。

我有以下正则表达式,它分为以下组合“Artículo#。”,“Artículo##。”,1),2)等以及a),b),c)和单词“Párrafo”。

var result = Regex.Split(text, @"(Artículo)\s[0-9](.)|(Artículo)\s[0-9][0-9](.)|[a-z](\))|[1-9](\))|[1-9][0-9](\))|(Párrafo)", RegexOptions.None);

我需要保留曾经拆分过的关键字。例如我有以下文字

Artículo 1. This is a test that includes : 1) Sample text 2) Sample text

我正在得到:

 This is a test that includes :
 Sample text
 Sample text

我需要的:

Artículo 1. This is a test that includes :
1) Sample text
2) Sample text

我觉得我已经接近了,但是任何帮助都会很棒。

维克多·史翠比维

您可以使用

var text = "Artículo 1. This is a test that includes : 1) Sample text 2) Sample text";
var result = Regex.Split(text, @"(?!^)\s+(?=\bArtículo\s+[0-9]+\.|[a-z]\)|[1-9]\d?\)|\bPárrafo\b)", RegexOptions.None);
Console.WriteLine(string.Join("\n", result));
// => Artículo 1. This is a test that includes :
// => 1) Sample text
// => 2) Sample text

参见C#演示regex演示

正则表达式是

(?!^)\s+(?=\bArtículo\s+[0-9]+\.|[a-z]\)|[1-9]\d?\)|\bPárrafo\b)

它匹配

  • (?!^) -字符串开头以外的位置
  • \s+-1+空格(如果使用\s*,则需要.Where(x => !string.IsNullOrEmpty(x))Regex.Split通话添加
  • (?=\bArtículo\s+[0-9]+\.|[a-z]\)|[1-9]\d?\)|\bPárrafo\b) -紧随其后的位置
    • \bArtículo\s+[0-9]+\.|-整个单词Artículo,1+个空格,1+ ASCII数字和a .,或
    • [a-z]\)|-小写ASCII字母和),或
    • [1-9]\d?\)|-非零数字,然后是可选数字和a ),或者
    • \bPárrafo\b-整个词Párrafo

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#使用Regex.Split拆分大字符串。必须保留定界符

来自分类Dev

如何拆分字符串并使用boost :: split保留定界符?

来自分类Dev

如何使用php preg_split分割字符串并保留部分使用的定界符?

来自分类Dev

不使用String.split()拆分字符串并返回定界符

来自分类Dev

使用默认定界符与用户定义定界符进行字符串拆分

来自分类Dev

使用保存定界符将字符串按多个定界符进行拆分

来自分类Dev

使用各种定界符分割字符串,同时保留定界符

来自分类Dev

是否可以使用String.Split或regex将字符串拆分为字符串数组并删除不在定界符之间的部分?

来自分类Dev

使用多个定界符分割字符串,并保留一些定界符,但不是全部

来自分类Dev

python使用多定界符分割字符串并保留这些定界符python--快速方法

来自分类Dev

如何使用字符串定界符拆分字符串,而忽略引号内的定界符并生成空字符串?

来自分类Dev

使用2个定界符“ +”和“-”在C ++中拆分字符串

来自分类Dev

使用多字符定界符在AWK中拆分字符串

来自分类Dev

通过c中的多个定界符将字符串拆分为数组的函数

来自分类Dev

C ++字符串拆分,但用引号将所有定界符转义

来自分类Dev

如何在python中拆分字符串并使用定界符获取结果?

来自分类Dev

如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

来自分类Dev

使用R中的定界符数组拆分字符串

来自分类Dev

dart:使用正则表达式拆分字符串并包含定界符

来自分类Dev

使用长定界符将字符串拆分为bash中的数组

来自分类Dev

Java:使用正则表达式拆分字符串而不删除定界符

来自分类Dev

Python使用定界符拆分整数和字符串(混合)列表?

来自分类Dev

如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

来自分类Dev

在C ++中使用多个定界符(包括定界符)分割字符串

来自分类Dev

如何在PHP的字符串中使用动态整数定界符拆分字符串?

来自分类Dev

使用多字符定界符分割字符串

来自分类Dev

C ++通过定界符分割字符串并保持定界符在结果中

来自分类Dev

在C#中使用复杂的定界符/分隔符对字符串进行标记的有效方法,并将定界符/分隔符保留为标记

来自分类Dev

在C#中使用复杂的定界符/分隔符对字符串进行标记的有效方法,并将定界符/分隔符保留为标记

Related 相关文章

  1. 1

    C#使用Regex.Split拆分大字符串。必须保留定界符

  2. 2

    如何拆分字符串并使用boost :: split保留定界符?

  3. 3

    如何使用php preg_split分割字符串并保留部分使用的定界符?

  4. 4

    不使用String.split()拆分字符串并返回定界符

  5. 5

    使用默认定界符与用户定义定界符进行字符串拆分

  6. 6

    使用保存定界符将字符串按多个定界符进行拆分

  7. 7

    使用各种定界符分割字符串,同时保留定界符

  8. 8

    是否可以使用String.Split或regex将字符串拆分为字符串数组并删除不在定界符之间的部分?

  9. 9

    使用多个定界符分割字符串,并保留一些定界符,但不是全部

  10. 10

    python使用多定界符分割字符串并保留这些定界符python--快速方法

  11. 11

    如何使用字符串定界符拆分字符串,而忽略引号内的定界符并生成空字符串?

  12. 12

    使用2个定界符“ +”和“-”在C ++中拆分字符串

  13. 13

    使用多字符定界符在AWK中拆分字符串

  14. 14

    通过c中的多个定界符将字符串拆分为数组的函数

  15. 15

    C ++字符串拆分,但用引号将所有定界符转义

  16. 16

    如何在python中拆分字符串并使用定界符获取结果?

  17. 17

    如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

  18. 18

    使用R中的定界符数组拆分字符串

  19. 19

    dart:使用正则表达式拆分字符串并包含定界符

  20. 20

    使用长定界符将字符串拆分为bash中的数组

  21. 21

    Java:使用正则表达式拆分字符串而不删除定界符

  22. 22

    Python使用定界符拆分整数和字符串(混合)列表?

  23. 23

    如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

  24. 24

    在C ++中使用多个定界符(包括定界符)分割字符串

  25. 25

    如何在PHP的字符串中使用动态整数定界符拆分字符串?

  26. 26

    使用多字符定界符分割字符串

  27. 27

    C ++通过定界符分割字符串并保持定界符在结果中

  28. 28

    在C#中使用复杂的定界符/分隔符对字符串进行标记的有效方法,并将定界符/分隔符保留为标记

  29. 29

    在C#中使用复杂的定界符/分隔符对字符串进行标记的有效方法,并将定界符/分隔符保留为标记

热门标签

归档