Думаю, здесь будет работать регулярное выражение , поскольку «Проект» и «-» присутствуют всегда:
(?<=Project ).+?(?= -)
Поиск может быть полезен для случаев, связанных с получением подстроки.
Объяснение:
(?<=
= отрицательный просмотр назад Project
= начальная строка (включая пробел) )
= закрытие отрицательного просмотра назад .+?
= соответствует чему-либо между (?=
= положительный просмотр вперед -
= конечная строка )
= закрытие положительного просмотра вперед
Пример в PowerShell:
Function GetProjectName($InputString) {
$regExResult = $InputString | Select-String -Pattern '(?<=Project ).+?(?= -)'
$regExResult.Matches[0].Value
}
$projectName = GetProjectName -InputString "Project XYZ is the project name - 20-12-11"
Write-Host "Result = '$($projectName)'"