Replace a text part in textfile

Aus Wiki-WebPerfect
Wechseln zu: Navigation, Suche

Goal

Replace the text part between ### Test: and ###.

Regex

(?<=<YourStartString>)(.|\n)*(?=<YourEndString>)

Example for a text part:

### Test
This Text will
changed with the following
PowerShell Skript
###

Regex for the example text part below:

(?<=\#\#\#\.Test)(.|\n)*(?=\#\#\#)


PowerShell Skript

File to change - Before the PowerShell Script

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

      1. Test

This Text will changed with the following PowerShell Script


$FileToChangePath = "C:\Temp\FileToChange.txt"
$FileToChange = Get-Content $FileToChangePath -Raw
 
$TemplateTextPartPath = Get-Content "C:\Temp\TemplateTextPart.txt" -Raw
 
$RegexSearch = "### Test" #Search the head of text part
$RegexReplace = "(?<=\#\#\#\.Test)(.|\n)*(?=\#\#\#)"
 
If ($FileToChange -match $RegexSearch) {
    Write-Host "The text part in the file has been changed." -ForegroundColor Green
    $ChangeTextPart = $FileToChange -replace $RegexReplace, ("`r`n" + $TemplateTextPartPath + "`r`n")
    Set-Content -Path $FileToChangePath -Value $ChangeTextPart
} Else {
    Write-Host "The text part in the file has been added." -ForegroundColor Yellow
    Add-Content -Path $FileToChangePath -Value ("`r`n" + "`r`n" + "`r`n" + "`r`n" + "### Test" + "`r`n" + $TemplateTextPartPath + "`r`n" + "###" ) -PassThru
}


Text part in the file has been changed - After the PowerShell Script

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

      1. Test

This Text is the changed text with the PowerShell Script


Regex-text-part.png


Regex101: https://regex101.com/