PDA

View Full Version : [C#]Dividere una stringa in n parti....


RaouL_BennetH
30-07-2010, 14:48
......senza conoscerne a priori la lunghezza..

Ciao a tutti :)

se ho una stringa di lunghezza variabile, come posso dividerla, per esempio in tre parti (o 4, 7, etc) facendo in modo che tutte le parti prima dell'ultima siano uguali, per esempio di 5 caratteri (o nove oppure n) ?


per esempio se ho:


raoulbennethnubbanubbofparodiesprogramming

raoul benne thnub banub bofpa rodie sprog rammi ng



Grazie a tutti :)

RaouL.

banryu79
30-07-2010, 15:14
Come sarebbe senza conoscerne la lunghezza? Nel momento stesso in cui hai messo le mani sulla stringa da dividere, sai anche quanto è lunga.
Cosa devi fare?

RaouL_BennetH
30-07-2010, 15:18
Come sarebbe senza conoscerne la lunghezza? Nel momento stesso in cui hai messo le mani sulla stringa da dividere, sai anche quanto è lunga.
Cosa devi fare?

la lunghezza mi è nota solo a runtime, cioè potrebbe essere di 20, 50, 76 etc..

mmm.. alla fine però la conosco lo stesso, sarebbe mia_stringa.Length... hai ragione :)

astorcas
30-07-2010, 15:47
hai presente quel pezzo di codice che ti ho scritto nell'altro thread?
Quello con la regex "\w{3}"?
Ecco sostituendo il 3 con un numero x, dividerai la stringa in pezzi lunghi x.

Ecco il link (http://www.hwupgrade.it/forum/showpost.php?p=32695635&postcount=98)

gugoXX
30-07-2010, 16:11
Bello, ma non zappi via l'ultima stringa parziale?

astorcas
30-07-2010, 16:20
Bello, ma non zappi via l'ultima stringa parziale?

no non dovrebbe, in pratica non essendo un match non ci mette lo spazio in fondo ma lo lascia com'è

EDIT: ripensandoci il problema è un altro. Se la lunghezza della parola è un multiplo di quell'X allora lo spazio viene aggiunto anche in fondo, il che potrebbe essere considerato scorretto.
La regex andrebbe corretta così: \w{X}(?!$)