如何识别字符串中的字符?

时间:2020-02-06 21:26:15

标签: powershell

我正在尝试编写Powershell代码,以从多个文件的文件名中识别具有特定字符的字符串。

文件名示例

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 个答案:

答案 0 :(得分:1)

所有归功于TheMadTechnician,他们用这个答案击败了我。

要稍微扩展一下技巧,请在每次出现某个字符时,使用split方法或运算符对字符串进行分割。您的数据由下划线字符分隔,因此是使用此技术的完美示例。通过使用以下任一方法:

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

您可以将长字符串转换成较短字符串的数组,每个短字符串都包含原始字符串的一部分。由于您想要第二个,所以使用数组描述符[1](0为第一),就可以了。

祝你好运

相关问题