Visual Basic - REMPLAZAR UNA POSICION ESPECIFICA EN UNA CADENA

Life is soft - evento anual de software empresarial
   
Vista:

REMPLAZAR UNA POSICION ESPECIFICA EN UNA CADENA

Publicado por J@m (190 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
Imágen de perfil de Megamind

REMPLAZAR UNA POSICION ESPECIFICA EN UNA CADENA

Publicado por Megamind (121 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

REMPLAZAR UNA POSICION ESPECIFICA EN UNA CADENA

Publicado por Juan Gilberto (278 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