在Powershell中使用不间断空格加入字符串

时间:2010-01-29 13:55:01

标签: powershell

我试着

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

它给了我

Unrecognized token in source text.

是因为我必须在 utf-8 中将其指定为0xC2 0xA0吗?

2 个答案:

答案 0 :(得分:5)

删除@字符 - 它不是 here-string

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

在S.Mark回答之后添加:

我会补充说因为S.Mark已经发布了答案,可以接受, here-strings @开头。试着谷歌吧。而且 - 它与C#有些不同。您不能使用\转义,而是使用反引号。所以字符串可能应该是“u00A0”,但我不确定......

<强>解决方案

在堆栈溢出后,我发现Shay的回答可能是你想要的。

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

或者

$arr -join [char]0x00A0

Shay's answer how to escape unicode character.

答案 1 :(得分:2)

在“\ 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