Как добавить пробел ('') после 10-го символа в строке в PowerShell? - PullRequest
1 голос
/ 30 января 2020

Привет, PowerShell noob ie здесь.

Может кто-нибудь указать мне правильное направление, как добавить пробел '' после 10-го символа в строке ниже:

$var = '01/03/202012:00:00'

Готовый результат должен выглядеть так:

$var = '01/03/2020 12:00:00'

Спасибо, куча!

Ответы [ 3 ]

3 голосов
/ 30 января 2020

Попробуйте это ...

$var = '01/03/202012:00:00'.insert(10, ' ')

enter image description here

И, для дальнейшего использования, вы можете увидеть список строковых функций с чем-то вроде. .. (gm - это встроенный псевдоним для командлета Get-Member)

enter image description here

1 голос
/ 31 января 2020

Поскольку вы новичок, я также укажу очевидное решение:

$var = '01/03/202012:00:00'
# from index 0 take 10 characters
$firstPart = $var.Substring(0,10)
# from index 10 take the rest of the string
$secondPart = $var.Substring(10)
# join the two parts with a space in between
$result = "$firstPart secondPart"
1 голос
/ 30 января 2020

Вот способ регулярного выражения. С -relace, $ & означает все совпадение. Это где-то похоронено в документах. https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference#substitutions Я до сих пор не нашел применения для всех из них.

'01/03/202012:00:00' -replace '^..........','$& '

01/03/2020 12:00:00

Или со сценарием в PS 6 или 7:

'01/03/202012:00:00' -replace '^..........', { "$_ " } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...