替换文件中的文本+可选的换行符

日卡托

我曾经遇到过其他类似的问题,并尝试过他们的建议,但这无济于事。我正在尝试删除文本文件中的特定文本行。

我的代码有效

(Get-Content -Path "MyPath.txt" -Raw).Replace('this is the line', '') | Set-Content "MyPath.txt" -Encoding UTF8

现在可以使用,但是在文本文件中留下了一个难看的空行。我还想通过在行尾添加此正则表达式来替换可选的换行符

\n?

这是行不通的。其他线程提出了其他建议,我尝试了所有组合,但无法匹配。我正在使用Windows样式结尾(CRLF)

都使用-Raw而不使用它

  • \ n
  • \ r \ n
  • `n
  • `r`n

我什至没有在末尾添加正则表达式问号(或非捕获组,以防它需要\ r \ n语法)。

mklement0

[string]类型的.Replace() 方法不支持正则表达式(正则表达式),而PowerShell的-replace 操作一样。

但是,在这种情况下,最简单的解决方案是利用以下事实:-ne运算符充当具有数组值的LHS过滤器(就像其他比较运算符一样):

@(Get-Content -Path MyPath.txt) -ne 'this is the line' |
  Set-Content MyPath.txt -Encoding UTF8

注意如何Get-Content被调用,而不 -Raw以返回一个阵列的行,从该-ne然后过滤掉的(非)-interest行; @(...)中,阵列子表达式运算符确保输出是即使文件恰好包含只是阵列一个线。

假设字符串'this is the line'整行匹配(不区分大小写)。如果不是这种情况,则-ne可以使用-notlike通配符表达式或
-notmatch正则表达式(例如
-notmatch 'this is the line'-notlike '*this is the line'来代替

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Golang:替换文本文件中字符串中的换行符的问题

来自分类Dev

用转到文本区域的字符串中的换行符替换文本

来自分类Dev

用分号替换文件中的最后一个换行符

来自分类Dev

Python-在文件输出中用换行符/换行符替换换行符

来自分类Dev

Python-在文件输出中用换行符/换行符替换换行符

来自分类Dev

使用OpenXML SDK用换行符(换行符)替换docx文件上的文本

来自分类Dev

替换换行符

来自分类Dev

用换行符替换

来自分类Dev

Notepad ++-“替换为”在替换文本后添加换行符。如何将其删除?

来自分类Dev

expression()中的换行符?

来自分类Dev

sqlplus中的换行符

来自分类Dev

输出中的换行符

来自分类Dev

SelectPdf 中的换行符

来自分类Dev

用给定文本中的逗号替换换行符

来自分类Dev

替换<ul> -tag中的换行符

来自分类Dev

替换 Genexus 中的换行符

来自分类Dev

在 React Native/Javascript 中用换行符全局替换文本

来自分类Dev

如何在C#中的大文本文件中替换换行符

来自分类Dev

细长文本中的换行符

来自分类Dev

输出文件中的换行符

来自分类Dev

从txt文件中删除换行符

来自分类Dev

从txt文件中删除换行符

来自分类Dev

删除tex文件中的换行符

来自分类Dev

文件名中的换行符

来自分类Dev

删除FASTA文件中的换行符

来自分类Dev

从文件中删除换行符

来自分类Dev

在 csv 文件中查找换行符

来自分类Dev

XSLT 转换文件中产生的额外换行符

来自分类Dev

无法在文本文件中创建换行符