Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > PowerShell

Vista - Concatenate text string and text in variable with no space between

Reply
 
Old 05-04-2009   #1 (permalink)
Minniti Sergio


 
 

Concatenate text string and text in variable with no space between

Hi,
From my powershell script I would like output a text string concatenates
with some text contained in a $variable with no space before and after the
$variable.
Example:
The email address of Rossi Mario (Acme) is mario.rossi@xxxxxx
In my powershell script I have witten:
write-host -foregroundcolor green "The email address of" $DisplayName
"("$firm") is" $PrimarySmtpAddress
but the output is
The email address of Rossi Mario ( Acme) is mario.rossi@xxxxxx
I don't want the space between ( and Acme.
How can I do?
I have written some text lines like:
$text1 = "The email address of"
$text2 = "("
$text3 = ")"
$text4 = "is"
#write-host -foregroundcolor green $text1 $DisplayName $text2$firm$text3
$text4 $PrimarySmtpAddress
but I don't think that it is correct.
Have you any idea? I'll wait your reply, thanks!

My System SpecsSystem Spec
Old 05-04-2009   #2 (permalink)
Vadims Podans [MVP]


 
 

Re: Concatenate text string and text in variable with no space between

just put all string in double quotes, without separating each part in
quotes:
write-host -foregroundcolor green "The email address of $DisplayName ($firm)
is $PrimarySmtpAddress"
--
WBR, Vadims Podans
MVP: PowerShell
PowerShell blog - www.sysadmins.lv

"Minniti Sergio" <MinnitiSergio@xxxxxx> rakstīja ziņojumā
"news:B98019B7-827E-4B63-B439-F4350053F44E@xxxxxx"...
Quote:

> Hi,
> From my powershell script I would like output a text string concatenates
> with some text contained in a $variable with no space before and after
> the
> $variable.
> Example:
> The email address of Rossi Mario (Acme) is mario.rossi@xxxxxx
> In my powershell script I have witten:
> write-host -foregroundcolor green "The email address of" $DisplayName
> "("$firm") is" $PrimarySmtpAddress
> but the output is
> The email address of Rossi Mario ( Acme) is mario.rossi@xxxxxx
> I don't want the space between ( and Acme.
> How can I do?
> I have written some text lines like:
> $text1 = "The email address of"
> $text2 = "("
> $text3 = ")"
> $text4 = "is"
> #write-host -foregroundcolor green $text1 $DisplayName $text2$firm$text3
> $text4 $PrimarySmtpAddress
> but I don't think that it is correct.
> Have you any idea? I'll wait your reply, thanks!
My System SpecsSystem Spec
Old 05-04-2009   #3 (permalink)
tojo2000


 
 

Re: Concatenate text string and text in variable with no spacebetween

On May 4, 8:47*am, "Vadims Podans [MVP]" <vpodans> wrote:
Quote:

> just put all string in double quotes, without separating each part in
> quotes:
> write-host -foregroundcolor green "The email address of $DisplayName ($firm)
> is $PrimarySmtpAddress"
> --
> WBR, Vadims Podans
> MVP: PowerShell
> PowerShell blog -www.sysadmins.lv
>
> "Minniti Sergio" <MinnitiSer...@xxxxxx> rakstīja ziņojumā
> "news:B98019B7-827E-4B63-B439-F4350053F44E@xxxxxx"...
>
>
>
Quote:

> > Hi,
> > From my powershell script I would like output a text string concatenates
> > with some text contained in a *$variable with no space before and after
> > the
> > $variable.
> > Example:
> > The email address of Rossi Mario (Acme) is mario.ro...@xxxxxx
> > In my powershell script I have witten:
> > write-host -foregroundcolor green "The email address of" $DisplayName
> > "("$firm") is" $PrimarySmtpAddress
> > but the output is
> > The email address of Rossi Mario ( Acme) is mario.ro...@xxxxxx
> > I don't *want the space between ( and Acme.
> > How can I do?
> > I have written some text lines like:
> > $text1 = "The email address of"
> > $text2 = "("
> > $text3 = ")"
> > $text4 = "is"
> > #write-host -foregroundcolor green $text1 $DisplayName $text2$firm$text3
> > $text4 $PrimarySmtpAddress
> > but I don't think that it is correct.
> > Have you any idea? I'll wait your reply, thanks!
Some other options:

($text1 + $DisplayName + ' ' + $text2 + $firm + $text3)

[string]::join('', ($text1, ' ', $DisplayName, $text2, $firm, $text3))

'The email address of {0}({1})' -f $DisplayName, $firm




My System SpecsSystem Spec
Old 05-06-2009   #4 (permalink)
Vadims Podans [MVP]


 
 

Re: Concatenate text string and text in variable with no space between

With PowerShell V2 you can use -join operator:
$text1,' ', $DisplayName,' ', $text2, $firm, $text3 -join ""
--
WBR, Vadims Podans
MVP: PowerShell
PowerShell blog - www.sysadmins.lv

"tojo2000" <tojo2000@xxxxxx> rakstīja ziņojumā
"news:4ffef55d-e254-4cf5-ac15-9bbdc8fdce6c@xxxxxx"...
Quote:

> On May 4, 8:47 am, "Vadims Podans [MVP]" <vpodans> wrote:
Quote:

>> just put all string in double quotes, without separating each part in
>> quotes:
>> write-host -foregroundcolor green "The email address of $DisplayName
>> ($firm)
>> is $PrimarySmtpAddress"
>> --
>> WBR, Vadims Podans
>> MVP: PowerShell
>> PowerShell blog -www.sysadmins.lv
>>
>> "Minniti Sergio" <MinnitiSer...@xxxxxx> rakstīja
>> ziņojumā
>> "news:B98019B7-827E-4B63-B439-F4350053F44E@xxxxxx"...
>>
>>
>>
Quote:

>> > Hi,
>> > From my powershell script I would like output a text string
>> > concatenates
>> > with some text contained in a $variable with no space before and after
>> > the
>> > $variable.
>> > Example:
>> > The email address of Rossi Mario (Acme) is mario.ro...@xxxxxx
>> > In my powershell script I have witten:
>> > write-host -foregroundcolor green "The email address of" $DisplayName
>> > "("$firm") is" $PrimarySmtpAddress
>> > but the output is
>> > The email address of Rossi Mario ( Acme) is mario.ro...@xxxxxx
>> > I don't want the space between ( and Acme.
>> > How can I do?
>> > I have written some text lines like:
>> > $text1 = "The email address of"
>> > $text2 = "("
>> > $text3 = ")"
>> > $text4 = "is"
>> > #write-host -foregroundcolor green $text1 $DisplayName
>> > $text2$firm$text3
>> > $text4 $PrimarySmtpAddress
>> > but I don't think that it is correct.
>> > Have you any idea? I'll wait your reply, thanks!
>
> Some other options:
>
> ($text1 + $DisplayName + ' ' + $text2 + $firm + $text3)
>
> [string]::join('', ($text1, ' ', $DisplayName, $text2, $firm, $text3))
>
> 'The email address of {0}({1})' -f $DisplayName, $firm
>
>
>
>
My System SpecsSystem Spec
Old 05-06-2009   #5 (permalink)
tojo2000


 
 

Re: Concatenate text string and text in variable with no spacebetween

On May 5, 11:14*pm, "Vadims Podans [MVP]" <vpodans> wrote:
Quote:

> With PowerShell V2 you can use -join operator:
> *$text1,' ', $DisplayName,' ', $text2, $firm, $text3 -join ""
> --
> WBR, Vadims Podans
> MVP: PowerShell
> PowerShell blog -www.sysadmins.lv
>
> "tojo2000" <tojo2...@xxxxxx> rakstīja ziņojumā
> "news:4ffef55d-e254-4cf5-ac15-9bbdc8fdce6c@xxxxxx"....
>
>
>
Quote:

> > On May 4, 8:47 am, "Vadims Podans [MVP]" <vpodans> wrote:
Quote:

> >> just put all string in double quotes, without separating each part in
> >> quotes:
> >> write-host -foregroundcolor green "The email address of $DisplayName
> >> ($firm)
> >> is $PrimarySmtpAddress"
> >> --
> >> WBR, Vadims Podans
> >> MVP: PowerShell
> >> PowerShell blog -www.sysadmins.lv
>
Quote:
Quote:

> >> "Minniti Sergio" <MinnitiSer...@xxxxxx> rakstīja
> >> ziņojumā
> >> "news:B98019B7-827E-4B63-B439-F4350053F44E@xxxxxx"...
>
Quote:
Quote:

> >> > Hi,
> >> > From my powershell script I would like output a text string
> >> > concatenates
> >> > with some text contained in a *$variable with no space before and after
> >> > the
> >> > $variable.
> >> > Example:
> >> > The email address of Rossi Mario (Acme) is mario.ro...@xxxxxx
> >> > In my powershell script I have witten:
> >> > write-host -foregroundcolor green "The email address of" $DisplayName
> >> > "("$firm") is" $PrimarySmtpAddress
> >> > but the output is
> >> > The email address of Rossi Mario ( Acme) is mario.ro...@xxxxxx
> >> > I don't *want the space between ( and Acme.
> >> > How can I do?
> >> > I have written some text lines like:
> >> > $text1 = "The email address of"
> >> > $text2 = "("
> >> > $text3 = ")"
> >> > $text4 = "is"
> >> > #write-host -foregroundcolor green $text1 $DisplayName
> >> > $text2$firm$text3
> >> > $text4 $PrimarySmtpAddress
> >> > but I don't think that it is correct.
> >> > Have you any idea? I'll wait your reply, thanks!
>
Quote:

> > Some other options:
>
Quote:

> > ($text1 + $DisplayName + ' ' + $text2 + $firm + $text3)
>
Quote:

> > [string]::join('', ($text1, ' ', $DisplayName, $text2, $firm, $text3))
>
Quote:

> > 'The email address of {0}({1})' -f $DisplayName, $firm
Thanks, I keep forgetting about that. It seems strange to me that join
() is such an afterthought in .NET, with strings having a split()
method but not a join() by default.
My System SpecsSystem Spec
Reply

Thread Tools


Similar Threads
Thread Forum
Concatenate text string and text in variable with no space between VB Script
How to concatenate a literal string and a variable value? VB Script
Creating a Text string PowerShell
how to get text string from description? PowerShell
How to Concatenate text files? PowerShell


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46