Присоединить строку с неразрывным пробелом в Powershell - PullRequest
4 голосов
/ 29 января 2010

Я пытаюсь

$arr = "one", "two"
$test = [String]::Join(@"\u00A0", $arr)

и это дает мне

Unrecognized token in source text.

Это потому, что я должен указать его в utf-8 как 0xC2 0xA0?

Ответы [ 2 ]

5 голосов
/ 29 января 2010

Удалить символ @ - это не здесь-строка .

[String]::Join("\u00A0", $arr)

Добавлено после ответа С.Марка:

Я добавлю, потому что С.Марк уже разместил ответ, который можно принять, что здесь-строки начинаются с @. Попробуйте гуглить их. И - это несколько отличается от C #. Вы не убегаете с \, но с обратным ударом. Так что, вероятно, строка должна быть что-то вроде "` u00A0 ", но я не уверен ...

Решение

После некоторого переполнения стека я нашел ответ Шей, который, вероятно, и был тем, что вы хотели.

[String]::Join([char]0x00A0, $arr)

или, может быть

$arr -join [char]0x00A0

Ответ Шей о том, как экранировать символы Юникода.

2 голосов
/ 29 января 2010

Вам не понадобится @ перед "\ u00A0"

PS > $arr = "one", "two"

PS > $test = [String]::Join(@"\u00A0", $arr)
Unrecognized token in source text.

PS > $test = [String]::Join("\u00A0", $arr)
PS >
PS > $test
one\u00A0two
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...