String split

mercoledì 17 dicembre 2008 - 10.30

Lechter Profilo | Newbie

salve, in c# ho la seguente stringa:

"|,1,5,-,1,5,3,3,-,1,5,3,8,8,-,1,5,3,8,20,20,-,1,5,3,8,20,30,30,|||,-,1,5,3,10,10,-,1,5,3,10,15,15,|||,-,1,5,3,20,20,-,1,5,3,20,8,8,|||,-,1,5,3,20,30,30,|||,-,1,5,15,15,-,1,5,15,10,10,-,1,5,15,10,3,3,-,1,5,15,10,3,8,8,-,1,5,15,10,3,8,20,20,-,1,5,15,10,3,8,20,30,30,|||,-,1,5,15,10,3,20,20,-,1,5,15,10,3,20,8,8,|||,-,1,5,15,10,3,20,30,30,|||,8,-,1,8,3,3,-,1,8,3,5,5,-,1,8,3,5,15,15,-,1,8,3,5,15,10,10,|||,-,1,8,3,10,10,-,1,8,3,10,15,15,-,1,8,3,10,15,5,5,|||,-,1,8,3,20,20,-,1,8,3,20,30,30,|||,-,1,8,20,20,-,1,8,20,3,3,-,1,8,20,3,5,5,-,1,8,20,3,5,15,15,-,1,8,20,3,5,15,10,10,|||,-,1,8,20,3,10,10,-,1,8,20,3,10,15,15,-,1,8,20,3,10,15,5,5,|||,-,1,8,20,30,30,|||,13,|||,"

devo ottenere una serie di stringhe splittando da "-" a "|||" per cui ottenere:

1,5,3,8,20,30,30
1,5,3,10,15,15
1,5,3,20,8,8

ecc.. ecc..

sapete aiutarmi?


aiedail92 Profilo | Expert

Ciao

Senz'altro le regex ti vengono in aiuto. Questa:

@"(?<=-,)(?:\d*,)*\d*(?=,\|{3})"

Dovrebbe fare proprio al caso tuo, e questo è il codice per ciclare fra tutti i risultati:

//Crea la regex Regex regex = new Regex(@"(?<=-,)(?:\d*,)*\d*(?=,\|{3})"); //Il soggetto su cui usare la regex string tuaString = "|,1,5,-,1,5,3,3,-,1,5,3,8,8,-,1,5,3,8,20,20,-,1,5,3,8,20,30,30,|||,-ecc..."; //Ottiene tutti i risultati MatchCollection results = regex.Matches(tuaString); //Cicla su tutti i risultati foreach (Match match in results) { //Questo è il testo ottenuto string txt = match.Value; }

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5