kangaroojack
Goto Top

Trim - Ausgabe passt nicht

Hallo Leute,

evtl. kann mir mal jemand auf die Sprünge helfen. Irgendwie funktioniert das TRIM nicht so, wie ich es benötige bzw. mir vorstelle und ich verstehe aktuell nicht, warum das so ist.

Hier mal mein kleiner Codeschnipsel:

clear
$GroupName = "zzO-K010-MP-FEUER-RV-KBD*"  
$GroupLine = "zzO-K010-MP-FEUER-RV-KBD-LB1-VERWALTUNG-RW"  

Write-Host "GroupName:" $GroupName  
Write-Host "GroupLine:" $GroupLine  

if ($GroupName -like "zzO-K010-MP-FEUER-RV-*") {  
$GroupShort = $GroupLine.TrimStart("zzO-K010-MP-FEUER-RV-")   
Write-Host "GroupShort:" $GroupShort  
}

Als Rückgabewert von $GroupShort würde ich jetzt erwarten:
KBD-LB1-VERWALTUNG-RW

Es wird aber BD-LB1-VERWALTUNG-RW ausgegeben.

trim1

Ersetze ich "KBD" durch was anderes - meinetwegen ABX - dann stimmt die Ausgabe. Aber mit dem "K" gibts irgendwie Probleme.
Warum?

Vorab, vielen Dank!

VG
KangarooJack

Content-ID: 42308676642

Url: https://administrator.de/contentid/42308676642

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

7907292512
Lösung 7907292512 27.09.2023 aktualisiert um 13:03:39 Uhr
Goto Top
Ersetze ich "KBD" durch was anderes - meinetwegen ABX - dann stimmt die Ausgabe. Aber mit dem "K" gibts irgendwie Probleme.
Warum?
Weil das "K" mit in der Char-Liste enthalten ist welches du übergeben hast (zzO-K010-MP-FEUER-RV-) ...
Hier wird nicht der String als ganzes ausgewertet sondern jedes Zeichen aus dem String für sich, und da "B" nicht darin enthalten ist endet die Entfernung dort. Da du einen String mit mehreren Zeichen übergibst interpretiert das TrimStart als [CHAR[]] Array also ein Array aus einzelnen Zeichen
RTFM
https://learn.microsoft.com/de-de/dotnet/api/system.string.trimstart?vie ...
Entfernt alle führenden Vorkommen der Zeichen im angegebenen Array aus der aktuellen Zeichenfolge.

Das macht bspw. das was du suchst
$GroupShort = $groupline -replace '^zzO-K010-MP-FEUER-RV-'  
Achtung Regex-Syntax beachten bei Verwendung von -replace!)
Das ^ Bedeutet : Ersetze vom Anfang des Strings aus.

Sid.
Kangaroojack
Kangaroojack 27.09.2023 um 14:24:22 Uhr
Goto Top
Danke, jetzt gehts. face-smile