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-Key: 42308676642

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

Printed on: April 28, 2024 at 04:04 o'clock

Mitglied: 7907292512
Solution 7907292512 Sep 27, 2023 updated at 11:03:39 (UTC)
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.
Member: Kangaroojack
Kangaroojack Sep 27, 2023 at 12:24:22 (UTC)
Goto Top
Danke, jetzt gehts. face-smile