web-dev-qa-db-ja.com

PowerShellで行を分割する方法は?

私は[PowerShellでまったく新しいものであり、]ループ内の文字列を連結しています。特別な条件が発生した場合は改行を挿入します。 ..どうすればいいですか?

基本的に、\nに相当するものを探します。

$str = ""
foreach($line in $file){
  if($line -Match $review){ #Special condition
    $str += ANSWER #looking for ANSWER
  }
  #code.....
}

これまで私は試しました

"\n" '\n' "\N" '\N' "\r" '\r' "\R" '\R' '`n' '`r' '-n' '-r' 
64
user454322

二重引用符で"`n"を試してください。 (not単一引用符'`n'

エスケープ文字の完全なリストについては、以下を参照してください。

Help about_Escape_character

コードは

$str += "`n"
104
Neverever

見つけたと思う。あなたがしなければならないのは「 `n」と入力することです(引用符で!)

ありがとう!

9

他の誰かがこれに遭遇した場合に備えて、答えを明確にするために、 `nは単一のティックnではなく、グレーブアクセントnです

2
SQLMac

以下を使用することもできます。

Write-Host "";

または、あなたの特定の質問に関して言えば:

$str = ""
foreach($line in $file){
  if($line -Match $review){ #Special condition
    $str += Write-Host ""
    $str += ANSWER #looking for ANSWER
  }
  #code.....
}
1
Flat Cat

エスケープが機能しない場合、これを試すことができます:

$str += $("" | Out-String)

何も追加しませんが、Out-Stringとして追加し、新しい行を作成します。

0
Nano Miratus