Powershell 替换命令不删除换行符
Powershell replace command not removing newline
我有这样打印出来的文本:
mdbAppText_Arr: [0]: The cover is open. {goes to next line here}
Please close the cover. and [1] Backprinter cover open
46
我尝试在打开后去掉换行符,但它仍然存在。有什么更好的方法或解决我正在做的事情的想法吗?我需要去掉换行符,因为它将转到一个 csv 文件,并弄乱格式(转到那里的换行符)。
这是我的代码:
$mdbAppText_Arr = $mdbAppText.Split("|")
$mdbAppText_Arr[0].replace("`r",";").replace("`n",";").replace("`t",";").replace("&",";")
#replace newline/carriage return/tab with semicolon
if($alarmIdDef -eq "12-7")
{
Write-Host "mdbAppText_Arr: [0]: $($mdbAppText_Arr[0]) and [1] $($mdbAppText_Arr[1]) "
[byte] $mdbAppText_Arr[0][31]
}
我一直在看:
replace - 这个在 asci table 中有一个 link 参考查找,但我不清楚 table/link 中的字节等效项是哪一列.
我正在使用 PowerShell 5.1。
-replace
是一个 regex 运算符,因此您需要提供一个有效的正则表达式模式作为右侧操作数。
您可以用描述子字符串的模式替换大多数换行序列:
- 一个可选的回车符return(正则表达式中的
\r?
),然后是
- 一个(非可选)换行符(正则表达式中的
\n
):
$mdbAppText_Arr = $mdbAppText_Arr -replace '\r?\n'
我有这样打印出来的文本:
mdbAppText_Arr: [0]: The cover is open. {goes to next line here}
Please close the cover. and [1] Backprinter cover open
46
我尝试在打开后去掉换行符,但它仍然存在。有什么更好的方法或解决我正在做的事情的想法吗?我需要去掉换行符,因为它将转到一个 csv 文件,并弄乱格式(转到那里的换行符)。
这是我的代码:
$mdbAppText_Arr = $mdbAppText.Split("|")
$mdbAppText_Arr[0].replace("`r",";").replace("`n",";").replace("`t",";").replace("&",";")
#replace newline/carriage return/tab with semicolon
if($alarmIdDef -eq "12-7")
{
Write-Host "mdbAppText_Arr: [0]: $($mdbAppText_Arr[0]) and [1] $($mdbAppText_Arr[1]) "
[byte] $mdbAppText_Arr[0][31]
}
我一直在看:
replace - 这个在 asci table 中有一个 link 参考查找,但我不清楚 table/link 中的字节等效项是哪一列.
我正在使用 PowerShell 5.1。
-replace
是一个 regex 运算符,因此您需要提供一个有效的正则表达式模式作为右侧操作数。
您可以用描述子字符串的模式替换大多数换行序列:
- 一个可选的回车符return(正则表达式中的
\r?
),然后是 - 一个(非可选)换行符(正则表达式中的
\n
):
$mdbAppText_Arr = $mdbAppText_Arr -replace '\r?\n'