Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用ultraedit删除换行符?_Regex_Replace_Ultraedit - Fatal编程技术网

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

Regex 如何使用ultraedit删除换行符?,regex,replace,ultraedit,Regex,Replace,Ultraedit,我有一个非常长的文本文件,其中包含两行格式的数据记录。有没有一种方法可以简单地使用IDM UltraEdit将所有“换行符”字符替换到一个空格中 样本输入记录(两行): 需要重新格式化为一行 OPCODE { V { X1; } W { all=set; } } 我尝试使用Ultraedit查找和替换,并使用正则表达式捕捉换行符: 使用的Regexp:}[^n][+W 替换为:}W 但结果是(删除第二行之前的空白字符) 我使用的是UltraEdit版本19.10.0.1016。Ultr

我有一个非常长的文本文件,其中包含两行格式的数据记录。有没有一种方法可以简单地使用IDM UltraEdit将所有“换行符”字符替换到一个空格中

样本输入记录(两行):

需要重新格式化为一行

OPCODE   { V { X1;  } W { all=set; } } 
我尝试使用Ultraedit查找和替换,并使用正则表达式捕捉换行符:

使用的Regexp:
}[^n][+W

替换为:
}W

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


我使用的是UltraEdit版本19.10.0.1016。

UltraEdit有3个正则表达式引擎

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

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

使用功能最强大的Perl正则表达式引擎,您可以选择:

  • 搜索字符串是
    \}[\t\r\n]+W
    ,替换字符串也是
    }W

    }
    必须在搜索字符串中用Perl regexp语法中的反斜杠转义,否则搜索字符串无效。这很可能是最快的版本

  • 搜索字符串为
    \}\s+W
    ,替换字符串为
    }W

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


  • 搜索字符串是
    (?谢谢-虽然您的所有regexp都找到了模式,但替换并没有将两行重新格式化为一行-您可以发布一个示例(图片吗?)在使用UE v22.0.0.55发布之前,我测试了所有表达式。现在,我还使用从存档恢复的UE v19.10.0.1012测试了所有表达式。我没有存档UE v19.10的版本1016。为输入块生成的所有替换都是预期的单行输出。是否确定替换编辑字段在开始处不包含不可见的换行符r end?UE还支持多行搜索/替换字符串。将输入焦点设置为替换编辑字段并点击键结束。如果插入符号在
    W
    之后不闪烁,则替换字符串中有不需要的换行符。键HOME应导致插入符号位于
    }
    的左侧。您是对的!看起来我在替换字符串中有不需要的换行符ing-谢谢你的帮助。
    OPCODE   { V { X1;  } W { all=set; } } 
    
    OPCODE   { V { X1;  } 
    W { all=set; } }