regex - 如何使用 ultraedit 删除换行符?

标签 regex replace ultraedit

我有一个很长的文本文件,其中包含两行格式的数据记录。有没有办法使用 IDM UltraEdit 将所有“换行符”字符简单地替换为空格?

输入记录示例(两行):

OPCODE   { V { X1;  }
           W { all=set; } } 

需要重新格式化为一行

OPCODE   { V { X1;  } W { all=set; } } 

我尝试使用 Ultraedit 查找和替换,使用正则表达式来捕获换行符:

使用的正则表达式:}[^n][ ]+W

替换为:} W

但结果是(删除第二行之前的空白字符)

OPCODE   { V { X1;  } 
W { all=set; } } 

我使用的是 UltraEdit 版本 19.10.0.1016。

最佳答案

UltraEdit 有 3 个正则表达式引擎。

使用 UltraEdit 正则表达式引擎,搜索字符串可以是 }[ ^t^r^n]+W或更短}[ ^t^p]+W替换字符串为 } W .

使用 Unix 正则表达式引擎,搜索字符串为 }[ \t\r\n]+W替换字符串也是 } W .

使用最强大的 Perl 正则表达式引擎,您有多种选择:

  1. 搜索字符串为 \}[ \t\r\n]+W替换字符串也是 } W .
    }在搜索字符串中的 Perl 正则表达式语法中必须使用反斜杠进行转义,否则搜索字符串无效。这很可能是最快的版本。

  2. 搜索字符串为 \}\s+W替换字符串为 } W .
    \s匹配任何空白字符,其中还包括换行控制字符回车符和换行符以及文本文件中 Unicode 表中不经常使用的空白字符。这很可能比第一个选项慢,因为 \s 定义的字符数更大。

  3. 搜索字符串为 (?<=\})\s+(?=W)并且替换字符串只是一个空格字符。
    (?<=\})} 的正向回顾和(?=W)是对 W 的积极展望。与尽可能避免搜索相比,后视和前视通常会使搜索速度变慢。

  4. 以及许多其他搜索/替换表达式。

区分大小写由“替换”对话框中的“匹配大小写”选项控制。

关于regex - 如何使用 ultraedit 删除换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29588668/

相关文章:

python - 在python中的两个不同字符串之间提取int

javascript - 使用正则表达式操作字符串

notepad++ - Notepad++ 搜索和替换是否可以使用通配符

regex - 使用RegEx搜索和替换用一条空白行替换多条空白行

regex - 将文件中的每 n 个换行符替换为制表符

python - 为什么 urllib 不适用于本地网站?

java - 正则表达式匹配任何电子邮件

c - C语言中用一个字符替换字符串中的多个字符

Java删除所有感叹号

正则表达式查找丢失的引号