tincho   27-04-2021, 15:52
#1
Hola a todos.
Aquí le propongo una función que convierte un texto en otro que solo contiene caracteres alfanuméricos.
Por favor si alguien tiene una mejor idea por favor no dude en compartirla.
Código:
'' Alphanumericals are a combination of alphabetical and numerical characters, and is used to describe the collection of Latin letters and Arabic digits or a text constructed from this collection.

Static Public Function Alphanumeric(strInput As String) As String

  Dim int As Integer
  Dim strSymbol As String

  Dim stxLeters As New String[]
  Dim intKey As Integer
  Dim stxOut As New String[]
  Dim strOut As String

  Dim stxRepin As New String[]
  Dim stxRepout As New String[]
  Dim intRep As Integer

  stxOut.Clear
  stxLeters.Clear

  stxLeters = Split(":a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z: :A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:á:à:â:ã:é:è:ê:í:ï:ó:ô:õ:ö:ú:ç:ñ:Á:À:Â:Ã:É:È:Ê:Í:Ï:Ó:Ô:Õ:Ö:Ú:Ç:Ñ:0:1:2:3:4:5:6:7:8:9", ":")
  stxRepin = Split("Á:À:Â:Ã:É:È:Ê:Í:Ï:Ó:Ô:Õ:Ö:Ú:Ñ:á:à:â:ã:é:è:ê:í:ï:ó:ô:õ:ö:ú:ñ", ":")
  stxRepout = Split("A:A:A:A:E:E:E:I:I:O:O:O:O:U:N:a:a:a:a:e:e:e:i:i:o:o:o:o:u:n", ":")

  For int = 1 To String.Len(strInput)
    strSymbol = String.Mid(strInput, int, 1)
    intKey = stxLeters.Find(strSymbol)
    If intKey > -1 Then

      intRep = stxRepin.Find(strSymbol)
      If intRep > -1 Then
        strSymbol = stxRepout[intRep]
      Endif

      stxOut.Add(strSymbol)
    End If
  Next

  strOut = stxOut.Join("")

  Return strOut

End
Saludos.
Última modificación: 03-04-2022, 19:42 por tincho.

1 Saludo.
vuott   28-04-2021, 17:10
#2
Si el código debe servir también con respecto a la lengua italiana, entonces debes añadir también estas tres letras: ì - ò - ù
Última modificación: 28-04-2021, 17:11 por vuott.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
tincho   30-04-2021, 00:30
#3
(28-04-2021, 17:10)vuott escribió: Si el código debe servir también con respecto a la lengua italiana, entonces debes añadir también estas tres letras: ì - ò - ù
Perfecto Vuott, las agregare, no es mi idea dejar a tan preciado idioma fuera.!! Smile
Saludos.

1 Saludo.
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.