【发布时间】:2014-03-06 23:33:40
【问题描述】:
我的数据出现换行问题。该数组是由一个输出字符串后跟 -split 组成的。如果您想查看脚本的那部分,请告诉我。
foreach ($item in $array) {
"_"+$item+"_"
}
输出:
_
itemname_
期望的输出:
itemname
我试过插入:
$item.replace('`','')
没有任何变化。有什么想法吗?
【问题讨论】:
我的数据出现换行问题。该数组是由一个输出字符串后跟 -split 组成的。如果您想查看脚本的那部分,请告诉我。
foreach ($item in $array) {
"_"+$item+"_"
}
输出:
_
itemname_
期望的输出:
itemname
我试过插入:
$item.replace('`','')
没有任何变化。有什么想法吗?
【问题讨论】:
好的,我认为这应该可行。我的印象是您希望结果中出现这些下划线。
$array -replace "`n|`r"
【讨论】:
_
$array=$array -replace "``n|``r","" 应该做你想做的事,尽管我认为他的原始答案也包括制表符。编辑:呸,双坟应该是单坟。
_ 放在那里以显示使用的新行。所以我试过$array=$array -replace "``n|``r","",$array=$array -replace '``n|``r','',$array=$array -replace "n|r",""没有成功
默认情况下,“Get-Content”命令的默认分隔符是换行符“\n”。创建一个服装参数,然后执行替换命令。希望这可以帮助。
Get-ChildItem | Get-Content -Delimiter "~" | foreach { $_ -replace "`r|`n","" }
【讨论】:
那么如何在 $item 级别应用 mjolinor 的代码,例如:
foreach ($item in $array) {
$item -replace '^|$','_'
}
虽然我希望您已经得到相同的结果,但您的字符串中嵌入了换行符。
我自己无法在 $array 中设置相同的条件,也许您可以发布该代码。
这行得通吗?:
foreach ($item in $array) {
$item.Trim() -replace '^|$','_'
}
【讨论】:
$array=$array -replace "``n","" 为我工作(只有一个`)。还需要我检查其他解决方案吗?
foreach ($item in $array) {
"_"+$item.Trim()+"_"
}
应该做你想做的。
【讨论】: