字符串中隐藏的新行字符?

时间:2017-07-27 15:55:52

标签: string powershell newline

我从API返回此响应,其中似乎包含换行符。但是,我找不到实际存在的字符,因此无法拆分此字符串。

$response = curl.exe POST --silent --user $creds --data-raw $request $url
$response.contains("`f")
$response.contains("`r")
$response.contains("`n")
$response

输出:

False
False
False
"92837F755","BES","780532219"
"46431P106","BES","!NA"
"Y2069P309","BES","!NA"

1 个答案:

答案 0 :(得分:3)

$response包含一个字符串数组。回显数组一次显示一个字符串,即使单个字符串不包含您正在测试的任何字符。

如果您希望将响应作为单个字符串而不添加换行符,则只需将该变量放在双引号中即可:

"$response"

默认情况下,这会将数组元素与它们之间的空格连接起来。如果您不想要,可以先设置$OFS = '',或者只使用空字符串连接数组:

$response -join ''

-join $response

如果您希望使用换行符进行回复,可以通过curl管道Out-String输出:

$response = curl.exe ... | Out-String