Ben
Ben

Reputation: 87

How to identify a character in a string?

I am trying to write a Powershell code to identify a string with a specific character from a filename from multiple files.

An example of a filename

20190902091031_202401192_50760_54206_6401.pdf

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

Results: 202401192 (this is what I am after)

However in some instances the filename will be like below

20190902091031_20240119_50760_54206_6401.pdf

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

Results: 20240119_ (this is NOT what I am after)

I am trying to find a code to identify the 9th character,

IF the 9th character = "_" THEN Set

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

Results: 20240119

Upvotes: 2

Views: 406

Answers (1)

Matthew
Matthew

Reputation: 1166

All credit to TheMadTechnician who beat me to the punch with this answer.

To expand on the technique a bit, use the split method or operator to split a string every time a certain character shows up. Your data is separated by the underscore character, so is a perfect example of using this technique. By using either of the following:

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

You can turn your long string into an array of shorter strings, each containing one of the parts of your original string. Since you want the 2nd one, you use the array descriptor [1] (0 is 1st) and you're done.

Good luck

Upvotes: 2

Related Questions