Ajunto aqui una pequeña función que tiene como objetivo el separar de una cadena "calle turia,21" el prefijo,nombre y numero de dicha dirección.
Dim calle As String
Dim nombreCalle As String = "([^\d\-,])+"
Dim numeroPortal As String = "(\d+$)"
Dim numero As String
Dim pref As String
Dim direccion As String = "calle turia,25"
Try
'prefijo
Dim ERR As New System.Text.RegularExpressions.Regex("^((CALLE)(C(\ ))(C/(\ ))(C/\.)(CL(\ ))(CL\.)(PLAZA(\ ))(PLAÇA(\ ))(PL(\ ))(PL.)(PLZ(\ ))(PLZ\.)(PZA(\ ))(PZA.)(PZ(\ ))(PZ\.)(PLZA.)(PLZA(\ ))(AVENIDA(\ ))(AVDA\.)(AVDA(\ ))(AVD(\ ))(AVD\.)(AV\.)(AV(\ ))(CARRETERA(\ ))(CRTRA(\ ))(CRTRA\.)(CTRA\.)(CTRA\.(\ ))(CTRA(\ ))(CTR\.)(CTR(\ ))(TRAVESIA(\ ))(TRAV\.)(TRAV(\ ))(EL(\ ))(LA(\ ))(LOS(\ ))(LAS(\ ))(GLORIETA(\ ))(PASEO(\ ))(CAMINO(\ ))(AUTOPISTA(\ ))(PUENTE(\ ))(PG\.(\ ))(RBLA\.(\ ))(URB\.(\ ))(BL\.(\ ))(BLOQ(\ ))(POL\.(\ ))(POL(\ ))(RDA\.(\ ))(SECTOR(\ )))", System.Text.RegularExpressions.RegexOptions.IgnoreCase Or System.Text.RegularExpressions.RegexOptions.CultureInvariant)
Dim prefijo As System.Text.RegularExpressions.Match = ERR.Match(Trim(direccion))
pref = prefijo.Value
direccion = ERR.Replace(Trim(direccion), "")
'segunda calle
Dim ERSeparador As New System.Text.RegularExpressions.Regex(nombreCalle, System.Text.RegularExpressions.RegexOptions.IgnoreCase Or System.Text.RegularExpressions.RegexOptions.CultureInvariant)
'primera calle
Dim primeraCalle As System.Text.RegularExpressions.Match = ERSeparador.Match(direccion)
calle = primeraCalle.Value
calle = calle.TrimEnd
calle = calle.TrimStart
Dim ERSeparador2 As New System.Text.RegularExpressions.Regex(numeroPortal)
'primer portal
Dim primerport As System.Text.RegularExpressions.Match = ERSeparador2.Match(direccion)
numero = primerport.Value
numero = numero.TrimEnd
If numero = "" Then
numero = "0"
End If
Dim ERSeparador3 As New System.Text.RegularExpressions.Regex(numeroFinal)
No hay comentarios:
Publicar un comentario