Как обрезать строку в PowerShell
Вам нужно удалить лишние пробелы в строке? Или символ в начале или в конце строки в PowerShell? Тогда функция Trim в PowerShell - это то, что вам нужно.
С помощью метода Trim в PowerShell мы можем удалить нежелательные символы или пробелы с начала или конца строки. Это позволяет вам легко очищать строку при необходимости.
В этой статье мы рассмотрим, как использовать метод Trim, и я приведу вам несколько полезных примеров.
PowerShell обрезать строку
В PowerShell мы можем использовать метод Trim() для любой строки или переменной, которая является строкой. Если мы просто используем метод Trim без каких-либо символов, то он удалит пробелы как в начале, так и в конце строки.
Давайте быстро взглянем. В приведенном ниже примере у нас есть строка, которая имеет пробел в начале и несколько пробелов в конце. Когда мы используем метод Trim для строки, все пробелы будут удалены:
$text = " Trim me! "
Write-Host $text.Trim()
Result
Trim me!
Вы также можете увидеть разницу на скриншоте ниже. У нас есть строка, хранящаяся в переменной $text. Используя метод ToCharArray(), мы можем ясно видеть каждый символ строки, включая пробелы. Но когда мы сначала используем метод Trim(), пробелы исчезают:
Удаление конкретных символов
Мы также можем использовать метод Trim в Powershell, чтобы удалить другие нежелательные символы в начале или в конце строки. Для этого нам нужно будет указать символ(ы), которые мы хотим удалить.
Давайте начнем с простого примера, мы собираемся удалить # в начале строки:
$string = "###La-srv-dc01"
Write-Host $string.Trim('#')
Result
La-srv-dc01Как вы можете видеть в результате, все хэштеги в начале строки были удалены, хотя их было три. Теперь вы можете подумать, что мы также можем использовать Trim, чтобы удалить дефис - из строки, но это не сработает.
Чтобы удалить или заменить символ(ы) в середине строки, вам необходимо использовать метод Replace в PowerShell.
This won't work:
$string = "La-srv-dc01"
Write-Host $string.Trim('-')
Result
La-srv-dc01Мы также можем определить несколько символов, которые нужно удалить в начале или в конце строки. Например, если вы хотите удалить !, ? или . из конца строки, вы можете использовать массив символов, которые хотите удалить:
$string = "Is this a string?"
Write-Host $string.Trim('!', '?', '.')
Result
Is this a stringУдаление целых слов
Хотя мы не можем удалить символы из середины строки, мы можем удалить целые слова с начала или конца строки с помощью метода Trim в PowerShell. Мы просто можем указать слово, которое хотим удалить.
$string = "2 days"
Write-Host $string.Trim(' days')
Result
2Обрезать только начало или конец
Если вам нужно удалить только один символ с начала или конца строки, вы также можете использовать методы TimStart() или TrimEnd(). Эти методы работают точно так же, как Trim(), но удаляют символ или пробел только с одной стороны строки.
Возьмем пример ниже, у нас есть путь к папке, но мы хотим удалить \ с начала пути или тот, который находится в конце пути:
$string = "\share\budgets\"
Write-Host $string.TrimEnd('\')
Result
\share\budgets
Or remove from the beginning
Write-Host $string.TrimStart('\')
Result
share\budgets\Завершение
Если вам нужно удалить пробелы или другие символы с начала или конца строки, то метод Trim в PowerShell - отличный вариант. Но когда также нужно удалить символы из других частей строки, лучше использовать метод replace.
Когда важные данные поступают из файла CSV, например, всегда хорошая идея обрезать строки с помощью метода trim. Таким образом, вы можете быть уверены, что строка не содержит лишних пробелов в конце.
Надеюсь, вы нашли эту статью полезной. Если у вас есть вопросы, просто оставьте комментарий ниже.
