有没有一种方法可以在文本文件上使用foreach和replace来更改换行符和x个缩进的字符?这是一个特殊的请求,但它是为了让它在另一个程序中可读。
示例文本:
dyreriket |{Animalia}
!leddormer@{Annelida}
igler${Clitellata}
符号|,!,@,美元和更多的钱应该用换行符和给定数量的凹痕代替。我可以做凹痕,但不能做断线。使用`n时没有响应,它只删除原始字符。到目前为止,我一直在玩这个代码。
$t1 = '@';
$r1 = "`n`t`t";
$t2='¤';
$r2="`n";
Get-Content C:artertest.txt `
| ForEach-Object { $_ -creplace $t1, $r1; } `
|ForEach-Object { $_ -creplace $t2, $r2; } `
| Out-File C:artertest2.txt ;
您可以进行逐行文本替换,如下所示:
$searchText = '[|!@☼$]';
$replacementText = "`r`n`t`t";
Get-Content -Path Input.txt `
| ForEach-Object { $_ -creplace $searchText, $replacementText; } `
| Out-File -FilePath Output.txt;
它使用正则表达式字符类将Input.txt
中出现的所有|
、!
、@
、☼
或$
字符替换为换行符、回车符和两个制表符,并将生成的文本写入Output.txt
。要执行不区分大小写的搜索,请使用-replace
或-ireplace
运算符。