我如何使用 ultraedit 删除换行符?

How can i remove a newline using ultraedit?

我有一个很长的文本文件,其中包含两行格式的数据记录。有没有一种方法可以使用 IDM UltraEdit 将所有 "newlines" 个字符简单地替换为 space?

示例输入记录(两行):

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

需要重新格式化成一行

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

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

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

替换为:} W

但是结果是(去掉第二行前面的白色space字符)

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 匹配任何 whitespace 字符,其中还包括换行符控制字符回车 return 和换行符以及文本文件中不常用的 whitespaces 来自 Unicode table。这很可能比第一个选项慢,因为 \s 定义的字符数更大。

  3. 搜索字符串是 (?<=\})\s+(?=W),替换字符串只是一个 space 字符。
    (?<=\})} 的积极回顾,(?=W)W 的积极回顾。如果可能的话,与回避搜索相比,后向搜索和前瞻搜索通常会更慢。

  4. 还有很多其他 search/replace 表达式。

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