Ho una vasta serie di articoli e voglio estrarre elementi da esso. Ho bisogno di saltare alcuni elementi dall'inizio e altri dalla fine.Come estrarre un intervallo da una raccolta in PowerShell?
Il seguente esempio è semplificato.
primo luogo ho cercato di estrarre gli elementi di delimitazione:
> ("a", "b", "c", "d", "e")[1,-2]
b
d
Questo funziona come previsto.
Tuttavia, quando ho provato a estrarre un'intera gamma, restituisce qualcosa di diverso da quello che voglio (al contrario di Python ['a', 'b', 'c', 'd', 'e'][1:-1]
che funziona bene).
> ("a", "b", "c", "d", "e")[1..-2]
b
a
e
d
Si sposta a rovescio. Come cambiare la direzione del loop?
Voglio ottenere: b c d
.
Esiste una soluzione senza utilizzare la lunghezza reale della raccolta?
E 'possibile senza usare la lunghezza? –
Non che ne sia a conoscenza, l'assegnazione dell'array a una variabile è una parte che non mi piace neanche. È necessario conoscere prima il limite superiore per ottenere tutti gli elementi tranne gli ultimi due. –
Se l'ordine degli oggetti non conta forse con questo: 'a', 'b', 'c', 'd', 'e' | ordinare | selezionare -skip 1 | ordina -desc | select -skip 1 –