Как определить символ в строке? - PullRequest
1 голос
/ 07 февраля 2020

Я пытаюсь написать код Powershell для идентификации строки с указанным символом c из имени файла из нескольких файлов.

Пример имени файла

20190902091031_202401192_50760_54206_6401.pdf

$Variable = $Filename.Substring(15,9)

Результаты: 202401192 (это то, что я ищу)

Однако в некоторых случаях имя файла будет таким, как показано ниже

20190902091031_20240119_50760_54206_6401.pdf

$Variable = $Filename.Substring(15,9)

Результаты: 20240119_ (это НЕ то, что я ищу)

Я пытаюсь найти код для идентификации 9-го символа,

ЕСЛИ 9-й символ = "_", то набор

$Variable = $Filename.Substring(15,8)

Результаты: 20240119

1 Ответ

1 голос
/ 07 февраля 2020

Вся благодарность TheMadTechnician, который победил меня этим ударом.

Чтобы немного расширить технику, используйте метод split или оператор для разделения строки каждый раз, когда появляется определенный символ. Ваши данные разделены символом подчеркивания, поэтому это прекрасный пример использования этой техники. Используя одно из следующих действий:

$FileName.Split('_')
$FileName -split '_'

Вы можете превратить вашу длинную строку в массив более коротких строк, каждая из которых содержит одну из частей вашей исходной строки. Поскольку вы хотите 2-й, вы используете дескриптор массива [1] (0 - 1-й) и все готово.

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...