Come realizzare una procedura di matching

martedì 22 aprile 2008 - 08.45

Samb1985 Profilo | Junior Member

Ho una tabella sul db (a cui accedo tramite tableAdapter) contenente una serie di informazioni. Devo fare il matching sulla colonna codice. Cioè trovare il codice e recuperare i valori della riga con quel codice.

Il codice da trovare sulla tabella ha 15 cifre, con cifre significative a partire da sinistra e 0 al posto delle cifre non significative.
Il codice in input per trovare il matching ha 15 cifre tutte significative. Io devo trovare sulla tabella quel codice che ha il maggior numero di cifre uguali al codice in input a partire da sinistra.

Come posso implementarlo in C# ? c'è qualche particolare funzione di String che mi può aiutare ?

freeteo Profilo | Guru

ciao,
se hai a disposizione una stringa, non c'e' niente di meglio di usare le Regex, in modo da poter impostare il "criterio" (pattern) di ricerca delle sequenze di caratteri che ti servono.
Per .net sono accessibili tramite il namespace "System.Text", ed hanno una sintassi di questo tipo:

Regex regex = new Regex(@"\d{5}", RegexOptions.IgnoreCase); foreach (Match match in regex.Matches(#MIASTRINGA#)) { int cifra = int.Parse(match.Value); }
nell'esempio:
- "\d" => cifre
- "{5}" => lunghe almeno 5

dove #MIASTRINGA# potrebbe essere quello che recuperi da db appoggiato su una stringa appunto...


Per approfondimenti:
http://en.wikipedia.org/wiki/Regular_expression
http://www.regular-expressions.info/

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5