Объединение String и Variable приводит к тому, что дополнительное пространство [duplicate]

Вот еще одна реализация replaceAll:

    String.prototype.replaceAll = function (stringToFind, stringToReplace) {
        if ( stringToFind == stringToReplace) return this;
        var temp = this;
        var index = temp.indexOf(stringToFind);
        while (index != -1) {
            temp = temp.replace(stringToFind, stringToReplace);
            index = temp.indexOf(stringToFind);
        }
        return temp;
    };
3
задан James C. 21 April 2017 в 08:59
поделиться

2 ответа

Это происходит потому, что Write-Host рассматривает вашу постоянную строку и ваш объект как два отдельных параметра - вы фактически не присоединяетесь к строкам так, как вы его называете. Вместо того, чтобы называть его таким образом, на самом деле конкатенировать строки:

write-host "http://contoso.com/personal/$($_.ADUserName)"

или

write-host ("http://contoso.com/personal/" + $_.ADUserName)

или

write-host ("http://contoso.com/personal/{0}" -f $_.ADUserName)
6
ответ дан mklement0 19 August 2018 в 10:47
поделиться

Просто сделайте это без write-host:

"http://contoso.com/personal/{0}" -f $_.ADUserName
0
ответ дан James C. 19 August 2018 в 10:47
поделиться
  • 1
    Хотя не стоит привыкать к использованию Write-Host, я соглашусь, это утверждение не эквивалентно. Вместо этого этот оператор эквивалентен использованию Write-Output, а не Write-Host. – Dave Markle 21 April 2017 в 15:07
Другие вопросы по тегам:

Похожие вопросы: