Я ищу способ изменить каждый символ в строке на предыдущее значение в алфавите. По сути, мне нужно создать для каждого цикла, который будет принимать каждый символ в строке и увеличивать его назад на 1. Например, я хотел бы изменить bcd234% на abc123 $.
Я попытался разбить строку на массив и вычесть 1 из каждого элемента.
$myString = "bcd234%"
$myArray = $myString.ToCharArray()
$myArray = $myArray | ForEach-Object { $_ - 1 }
$myArray
-join($myArray)
Я ожидал бы, что он будет повторять значение на 1, а затем соединять все новые значения вместе.
Я хотел бы видеть новую строку:
абв123 $
Что он на самом деле делает, так это создает новые значения для каждого из персонажей и вместо этого соединяет их вместе.
Результаты, которые я получаю, - это новый массив:
97
98
99
49
50
51
36
А потом он соединяет их вместе, что выглядит как:
97989949505136