Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Join string with non-breaking space in Powershell

Tags:

powershell

I try to

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

and it gives me

Unrecognized token in source text.

Is it because i have to specify it in utf-8 as 0xC2 0xA0?

like image 605
Filburt Avatar asked Feb 27 '23 16:02

Filburt


1 Answers

Remove the @ char - it is not here-string.

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

Added after S.Mark's answer:

I'll add because S.Mark already posted answer, that can be accepted, that here-strings begin with @. Try to google them. And - it's somewhat different to C#. You don't escape with \, but with backtick. So probably the string should be something like "`u00A0", but I'm not sure...

Solution

After some hanging around stack overflow, I found Shay's answer that probably is what you wanted.

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

or maybe

$arr -join [char]0x00A0

Shay's answer how to escape unicode character.

like image 121
stej Avatar answered Mar 06 '23 22:03

stej