如何在C#正则表达式中使用lookbehind以删除换行符?

Maryam Arshi

我有一个带有repetitve结构的文本文件作为标题和详细记录,例如

StopService::
697::12::test::20::[email protected]::20 Main Rd::Alcatraz::CA::1200::Please send me Information to
[email protected]::0::::

我想删除标题和详细记录之间的换行符,以便将它们作为单个记录来处理,因为详细记录也可以包含换行符,所以我只需要删除直接跟随::符号的换行符

使用正则表达式时我不是专业人士,因此我搜索并尝试使用此方法,但它不起作用:

 string text = File.ReadAllText(path);
 Regex.Replace(text, @"(?<=(:))(?!\1):\n", String.Empty);
 File.WriteAllText(path, text);

我也尝试过这个:

Regex.Replace(text, @"(?<=::)\n", String.Empty);

知道如何在这种情况下使用正则表达式吗?我的输出应如下所示:

StopService::697::12::test::20::[email protected]::20 Main Rd::Alcatraz::CA::1200::Please send me Information to
    [email protected]::0::::
维克多·史翠比维

非正则表达式

逐行读取文件。检查第一行,如果不等于StopService::则不要Environment.Newline在其后添加换行符()。


正则表达式

您可以::使用后向匹配在第一个之后匹配换行符(?<=^[^:]*::)

var str = "StopService::\r\n697::12::test::20::[email protected]::20 Main Rd::Alcatraz::CA::1200::Please send me Information to\r\[email protected]::0::::";
var rgx = new Regex(@"(?<=^[^:]*::)[\r\n]+");
Console.WriteLine(rgx.Replace(str, string.Empty));

输出:

StopService::697::12::test::20::[email protected]::20 Main Rd::Alcatraz::CA::1200::Please send me Information to
[email protected]::0::::

IDEONE演示

后视((?<=...))符合:

  • ^ -字符串开始
  • [^:]* -0个或多个其他字符 :
  • :: -2个冒号

[\r\n]+模式可确保我们匹配所有换行符,即使有多个也不止。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Powershell中使用正则表达式顺序替换反斜杠和换行符?

来自分类Dev

如何在Powershell中使用正则表达式顺序替换反斜杠和换行符?

来自分类Dev

如何在python 2.7中使用正则表达式在列表中插入换行符?

来自分类Dev

如何使用正则表达式删除未知数量的换行符

来自分类Dev

如何在C ++正则表达式中匹配换行符?

来自分类Dev

正则表达式删除换行符

来自分类Dev

正则表达式匹配之前删除换行符\换行符

来自分类Dev

正则表达式,如何在第n个|号之后的管道斜线文件中删除换行符?

来自分类Dev

使用正则表达式(re)删除多余换行符的Python脚本

来自分类Dev

使用正则表达式从CSV删除行中的换行符

来自分类Dev

使用正则表达式从CSV删除行内的换行符

来自分类Dev

使用正则表达式删除不必要的换行符

来自分类Dev

在 Python 中使用正则表达式替换换行符...

来自分类Dev

在正则表达式与C#匹配之前插入换行符

来自分类Dev

sed:如何在正则表达式中插入换行符?

来自分类Dev

使用正则表达式Windows CSV时如何保留换行符

来自分类Dev

如何使用正则表达式匹配换行符

来自分类Dev

如何在C ++中使用正则表达式换行后不捕获空格

来自分类Dev

尝试在正则表达式中使用换行符导致我的JavaScript代码出现“换行”

来自分类Dev

在Visual Studio中使用正则表达式在文件中使用替换并不排除换行符

来自分类Dev

在python中使用正则表达式获取换行符和制表符组的完整匹配

来自分类Dev

正则表达式与换行符不匹配

来自分类Dev

正则表达式替换Windows换行符

来自分类Dev

正则表达式换行符

来自分类Dev

正则表达式换行符遇到StackOverflowError

来自分类Dev

用于换行符解析的正则表达式

来自分类Dev

正则表达式包括换行符

来自分类Dev

正则表达式替换Windows换行符

来自分类Dev

正则表达式包含换行符

Related 相关文章

  1. 1

    如何在Powershell中使用正则表达式顺序替换反斜杠和换行符?

  2. 2

    如何在Powershell中使用正则表达式顺序替换反斜杠和换行符?

  3. 3

    如何在python 2.7中使用正则表达式在列表中插入换行符?

  4. 4

    如何使用正则表达式删除未知数量的换行符

  5. 5

    如何在C ++正则表达式中匹配换行符?

  6. 6

    正则表达式删除换行符

  7. 7

    正则表达式匹配之前删除换行符\换行符

  8. 8

    正则表达式,如何在第n个|号之后的管道斜线文件中删除换行符?

  9. 9

    使用正则表达式(re)删除多余换行符的Python脚本

  10. 10

    使用正则表达式从CSV删除行中的换行符

  11. 11

    使用正则表达式从CSV删除行内的换行符

  12. 12

    使用正则表达式删除不必要的换行符

  13. 13

    在 Python 中使用正则表达式替换换行符...

  14. 14

    在正则表达式与C#匹配之前插入换行符

  15. 15

    sed:如何在正则表达式中插入换行符?

  16. 16

    使用正则表达式Windows CSV时如何保留换行符

  17. 17

    如何使用正则表达式匹配换行符

  18. 18

    如何在C ++中使用正则表达式换行后不捕获空格

  19. 19

    尝试在正则表达式中使用换行符导致我的JavaScript代码出现“换行”

  20. 20

    在Visual Studio中使用正则表达式在文件中使用替换并不排除换行符

  21. 21

    在python中使用正则表达式获取换行符和制表符组的完整匹配

  22. 22

    正则表达式与换行符不匹配

  23. 23

    正则表达式替换Windows换行符

  24. 24

    正则表达式换行符

  25. 25

    正则表达式换行符遇到StackOverflowError

  26. 26

    用于换行符解析的正则表达式

  27. 27

    正则表达式包括换行符

  28. 28

    正则表达式替换Windows换行符

  29. 29

    正则表达式包含换行符

热门标签

归档