powershell extract text between two strings
Here is a PowerShell function which will find a string between two strings.
function GetStringBetweenTwoStrings($firstString, $secondString, $importPath){
#Get content from file
$file = Get-Content $importPath
#Regex pattern to compare two strings
$pattern = "$firstString(.*?)$secondString"
#Perform the opperation
$result = [regex]::Match($file,$pattern).Groups[1].Value
#Return result
return $result
}
You can then run the function like this:
GetStringBetweenTwoStrings -firstString "Lorem" -secondString "is" -importPath "C:\Temp\test.txt"
My test.txt file has the following text within it:
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
So my result:
Ipsum
The quick answer is - change your greedy capture (.*)
to non greedy - (.*?)
. That should do it.
customfield_11301(.*?)customfield_10730
Otherwise the capture will eat as much as it can, resulting in it continuing 'til the last customfield_10730
.
Regards