2014-03-06 7 views
5

Ich habe ein Problem mit einem Zeilenumbruch in meinen Daten. Das Array wurde mit einer out-string gefolgt von -split erstellt. Wenn Sie diesen Teil des Skripts sehen wollen, lassen Sie es mich wissen.Entfernen von Powershell für Leitungsunterbrechung

foreach ($item in $array) { 
"_"+$item+"_" 
} 

Ausgang:

_ 
itemname_ 

gewünschte Ausgabe:

itemname 

Ich habe versucht, das Einfügen:

$item.replace('`','') 

ohne Änderung. Irgendwelche Ideen?

Antwort

7

Okay, ich denke, das sollte funktionieren. Ich hatte den Eindruck, dass Sie diese Unterstriche im Ergebnis haben wollten.

$array -replace "`n|`r" 
+0

Kein Erfolg, der einfach '_' vor und nach $ Array fügt – snoop

+0

Ist das nicht das, was Sie wollten? Veröffentlichen Sie einige Testdaten und genau, wie die Ausgabe aussehen soll. – mjolinor

+0

Lustig genug, wenn Sie gehen und Google "PowerShell entfernen Newline-Charakter" Ich denke, die erste Antwort ist ein TechNet-Post eine sehr ähnliche Frage und mjolinor gab die Antwort auch dort. '$ array = $ array -replace" '' n | '' r "," "sollte tun, was Sie wollen, obwohl seine ursprüngliche Antwort auch den Tab-Charakter enthielt, denke ich. Edit: bah, die Doppelgräber sollten Einzelgräber sein. – TheMadTechnician

0

Nun, wie etwa mjolinor den Code an der $ Positionsebene Anwendung, z.B .:

foreach ($item in $array) { 
    $item -replace '^|$','_' 
} 

Obwohl ich das gleiche Ergebnis erwarten Sie bereits bekommen, gibt es neue Zeilen in der Zeichenfolge eingebettet.

Ich bin nicht in der Lage, die gleiche Bedingung in $ Array selbst einzurichten, vielleicht könnten Sie diesen Code buchen.

Hat diese Arbeit ?:

foreach ($item in $array) { 
    $item.Trim() -replace '^|$','_' 
} 
+0

'$ array = $ array -replace" '' n "," "' arbeitete für mich (mit einem einzigen '). Willst du noch, dass ich andere Lösungen überprüfe? – snoop

+0

Nein. Ich wollte nur zum Arbeiten kommen. – Arluin

0

standardmäßig 'Get-Content' Befehl hat die Standardtrennzeichen einer neuen Zeile '\ n'. Erstellen Sie einen Kostümparameter und führen Sie dann den Ersetzungsbefehl aus. Hoffe das hilft.

Verwandte Themen