Visual Basic - extraer primer caracter de cadena

Life is soft - evento anual de software empresarial
 
Vista:

extraer primer caracter de cadena

Publicado por Sebastian (32 intervenciones) el 25/08/2006 19:22:26
Hola a todos, mi consulta es la siguiente,

Como puedo hacer para extraer el primer caracter de una cadena de texto.

Por ejemplo:
tengo el siguiente numero de telefono 9091234567
hay que sacarle el primer 9 para que quede de la siguiente manera 091234567

Hay alguna funcion que me permita hacer eso...?

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:extraer primer caracter de cadena

Publicado por Phoenixin (37 intervenciones) el 25/08/2006 19:34:08
Sip hay dos formas creo o derrepente mas, la primera es así:
- Left(cadena,1)
La segunda es:
- Mid(cadena,1,1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:extraer primer caracter de cadena

Publicado por Jorge (32 intervenciones) el 25/08/2006 20:08:00
La función para realizar dicha operación es la función Mid, que tiene los siguientes parámetros:
Mid(Cadena, posiciónDeComienzo, numeroDeCaracteresSeleccionados). Por ejemplo si tengo una variable tipo String llamada "Software", que tiene almacenada el texto: "Visual Basic" y requiero extraer "Visual", se hace lo siguiente: Mid(software, 1, 6); si necesitas extraer "Basic" entonces colocas:
Mid(Software, 8, 5).

En el caso que tu planteas, para extraer "091234567" de "9091234567" debes colocar la función Mid de la siguiente forma: Mid("9091234567", 2, 9) y te queda "091234567"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:extraer primer caracter de cadena

Publicado por Matías Freire (421 intervenciones) el 25/08/2006 23:12:00
Para ampliar lo que dijo jorge, si no sabes la longitud de la cadena, bastaría con colocar Mid("9091234567", 2) y listo, te cortará la cadena empezando por el segundo caracter hasta el final, sea cual fuere la longitud de la cadena.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:extraer primer caracter de cadena

Publicado por vanessa (1 intervención) el 03/09/2015 17:54:22
si quiero extraer el primer carácter de una cadena como por ejemplo:´
tengo el nombre de Maria
y quiero extraer la primera letra que es la "M"
y quiero que la colo que en otra etiqueta ejemplo:
nombre: Maria
(botón de proceso)
etiqueta 2: que aparesca la letra: M
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alexander Montilla
Val: 16
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:extraer primer caracter de cadena

Publicado por Alexander Montilla (8 intervenciones) el 03/03/2020 02:05:26
Y si necesito extraer todas las primeras letras de un textbox y pasarlas a otro.por ejemplo:

Nombre: Maria Alejandra Lisbet Gallardo

quedaria asi: MALG

El espacio nunca va a ser el mismo porq el nombre va a cambiar como se haria? ejmeplo:

ahora seria

Nombre: Antonio Valdez
quedaria asi: AV
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:extraer primer caracter de cadena

Publicado por Andres Leonardo (1798 intervenciones) el 03/03/2020 15:31:12
Pues ahi necesitas una funcion que recorra el contenido del textbox y te genere un string
abre un proyecto pon un text y uin boton y pega este codigo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Command1_Click()
MsgBox PLDE(Text1.Text)  'llamo a la funcion mandando como parametro lo ingresado en el text
'esta sirve y puede ser llamada desde cualquier parte de ese formulario
End Sub
 
'Esta es la funcion que separa
Public Function PLDE(t As String) As String  ' funcion que recibe como parametro un texto y devuelve un texto
'PLDE =  PrimerasLetrasDespuesDeEspacio
PLDE = Mid(t, 1, 1) ' le asigno la primera letra por qe siempre debe empezar con una letra
  For i = 1 To Len(t)  ' recorro todo el text1.text a fin de buscar los espacios
    If Mid(t, i, 1) = " " And Mid(t, i + 1, 1) <> " " Then  ' si el caracter es un espacio y el siguiente no es un espacio
        PLDE = PLDE & Mid(t, i + 1, 1) ' selecciono y lo genero a la funcion
    End If
  Next i 'siguiente caracter
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Alexander
Val: 16
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:extraer primer caracter de cadena

Publicado por Alexander (8 intervenciones) el 03/03/2020 20:48:47
Muchas gracias, esto era exactamente lo que necesitaba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alexander Montilla
Val: 16
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:extraer primer caracter de cadena

Publicado por Alexander Montilla (8 intervenciones) el 04/03/2020 00:49:54
Amigo ya aplique el codigo y funciona de maravilla, el detalle que me surgio ahora es el siguiente, cuando solo es 1 nombre solo me toma la primera letra.

Ejemplo: Alexander

A

Y por lo menos tengo varios con solo el nombre. pienso lo siguiente:

Se podria aplicar un condicional en el cual detecte que si si son varias palabras aplique la funcion PLDE
Si es solo 1 entonces que no la aplique y que me aplique la funcion de Right(ComboBox1,3) (para queme traiga las 3 primera letras del Nombre.

en el caso seria asi: Alexander

Ale
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alexander Montilla
Val: 16
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:extraer primer caracter de cadena

Publicado por Alexander Montilla (8 intervenciones) el 04/03/2020 11:56:03
Listo amigo ya pude resover asi me quedo el codigo:

1
2
3
4
5
6
7
8
9
10
11
cuenta_palabras = Split(ComboBox1, " ")
 
If UBound(cuenta_palabras) + 1 = 1 Then
 
 txt_CodProd = Left(ComboBox1, 3) & "-" & PLDE(txt_Nombre.Text)
 
Else
 
  txt_CodProd = PLDE(ComboBox1.Text) & "-" & PLDE(txt_Nombre.Text)
 
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de ivan
Val: 11
Ha aumentado su posición en 4 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

extraer primer caracteres de cadena con diferentes longitudes

Publicado por ivan (5 intervenciones) el 05/03/2020 21:10:41
Hola: y si requiero extraer varios caracteres? estoy convirtiendo coordenadas geográficas a decimales
mismalong con esta formula =EXTRAE(H2,1,3)+(EXTRAE(H2,4,3)/60+EXTRAE(H2,7,6)/3600), pero cuando todos los valores en las celdas tiene la misma longitud no hay problema, el problema se presenta cuando la longitud cambia, por ejemplo
diflong como lo puedo solucionar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

extraer primer caracteres de cadena con diferentes longitudes

Publicado por Andres Leonardo (1798 intervenciones) el 06/03/2020 15:30:47
Esto lo podemos hacer con una UDF

puedes poner los ejemplos de las varias longitudes cual es el dato y cual es la respuesta explicando por que el resultado asi podriamos crear esta funcion y ayudarte

Lo otro es que separes el texto por Espacios y tienes listos los campos

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de ivan
Val: 11
Ha aumentado su posición en 4 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

extraer primer caracteres de cadena con diferentes longitudes

Publicado por ivan (5 intervenciones) el 06/03/2020 16:59:27
convert

Las columnas "H" e "I", son los datos originales a transformar, aplicando la formula EXTRAE, y las columnas "T" y "U" es el resultado de aplicar la formula de EXTRAE, el problema se presenta cuando los datos no son o tiene la misma longitud, no transforma las coordenadas y me sale #¡VALOR!., ya que EXTRAE funciona utilizando las posiciones de los números a extraer.
Adjunto el archivo Excel para reforzar mi explicación
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

extraer primer caracteres de cadena con diferentes longitudes

Publicado por Andres Leonardo (1798 intervenciones) el 06/03/2020 20:43:33
espero te ayude

La primera es buscar los espacios y con esto jugar para separarlas, he hecho con celdas adicionales para que veas , pero en realidad se podria ir anidando formulas para cada uno de los valores,

Despues de la linea negra, escoges la colimna separar datos por espacios y listo
separalatitudes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de ivan
Val: 11
Ha aumentado su posición en 4 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

extraer primer caracteres de cadena con diferentes longitudes

Publicado por ivan (5 intervenciones) el 06/03/2020 21:12:09
Gracias, Me ayudaste mucho!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar