Visual Basic - REMPLAZAR UNA POSICION ESPECIFICA EN UNA CADENA

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 27 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

REMPLAZAR UNA POSICION ESPECIFICA EN UNA CADENA

Publicado por J@m (195 intervenciones) el 03/02/2015 16:13:24
Buen dia, tengo una cadena de caracteres:

000,AVION,CARRO,PERRO,CAMA

Necesito remplazar la tercera coma del texto, estoy utilizando la funcion replace pero no me cuadra.

Gracias.
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
sin imagen de perfil
Val: 6
Ha disminuido su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

REMPLAZAR UNA POSICION ESPECIFICA EN UNA CADENA

Publicado por Megamind (120 intervenciones) el 03/02/2015 21:57:06
Hola, e echo algunas pruebas, y creo que e dado con la solución.
Ya dirás si es asi y si te sirve

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Command1_Click()
 Dim Cadena, Caracter As String
 Dim Pos, I, P, Ind As Integer
 
 Cadena = Text1.Text 'Contenido donde buscar 000,AVION,CARRO,PERRO,CAMA
 Caracter = "," ' Caracter a buscar
 P = 0 ' Tomara la posicion del caracter encontrado
 Ind = 0 ' Controla los caracteres encontrados
 
 For I = 1 To Len(Text1.Text) Step 1
   Pos = InStr(I, Cadena, Caracter)
   If Pos > P Then
      P = Pos ' Posicion del caracter
      Ind = Ind + 1 ' Numero de caracter
   If Ind = 3 Then 'Si es igual a 3 lo reemplazamos y salimos
      Text1.SelStart = P - 1
      Text1.SelLength = 1
      Text1.SelText = "-"
    Exit Sub
   End If
  End If
 Next
End Sub
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
sin imagen de perfil
Val: 147
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

REMPLAZAR UNA POSICION ESPECIFICA EN UNA CADENA

Publicado por Juan Gilberto (323 intervenciones) el 04/02/2015 17:16:38
En mi opinion, lo que j@m quiere hacer es cambiar el texto que esta despues de la tercera coma...

Como sea, tanto para cambiar la tercera coma como lo que esta despues de la tercera coma, se puede resolver utilizando solamente las instrucciones INSTR y REPLACE
Acordarse que las dos instrucciones tienes el argumento Inicio y con ese podemos jugar para resolver el problema

Tambien se puede resolver facilmente utilizando las funciones SPLIT y JOIN
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