Out-String
scheint nicht, zumindest für die Versionen 5.1 und 6b2 zu arbeiten:Der einfachste Weg, um die ersten x Zeichen zu erhalten?
"$('a'*10) $('b'*10)" | Out-String -Width 10
Ergebnis:
aaaaaaaaaa bbbbbbbbbb
Out-String
scheint nicht, zumindest für die Versionen 5.1 und 6b2 zu arbeiten:Der einfachste Weg, um die ersten x Zeichen zu erhalten?
"$('a'*10) $('b'*10)" | Out-String -Width 10
Ergebnis:
aaaaaaaaaa bbbbbbbbbb
Sie die .Substring()
Method. nutzen könnten. Dies schlägt fehl, wenn die Position der Teilzeichenfolge nicht in der Zeichenfolge enthalten ist. (In diesem Fall, wenn die Zeichenfolge kürzer als 10 Zeichen)
"$('a'*10) $('b'*10)".Substring(0,10)
Alternativ können Sie -replace
verwenden Sie den letzten Teil der Zeichenfolge zu entfernen. Da nichts zusammenpasst, wenn die Zeichenfolge kürzer als 10 ist, ersetzt es nichts, aber wird nicht fehlschlagen und wird nur die ursprüngliche Zeichenfolge zurückgeben.
"$('a'*10) $('b'*10)" -replace '(^.{10})(.*$)','$1'
Das schlägt fehl, wenn die Zeichenfolge weniger als 10 Zeichen enthält. – mtman
@mtman In der Antwort wird eine alternative Methode angegeben, die die ursprüngliche Zeichenfolge zurückgibt und nicht fehlschlägt, wenn die Zeichenfolge kürzer als 10 Zeichen ist. – BenH
Gute Idee, ich denke, die Regex sollte '^ (. {10}). * $' Um sicherzustellen, dass es nicht Zeichen aus der Mitte auswählen kann. – mtman