Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: fede_cp en 11 Septiembre 2009, 19:20 PM

Título: problemas con cadena de texto (replace)
Publicado por: fede_cp en 11 Septiembre 2009, 19:20 PM
bueno gente, la verdad que me quede trabado en una cosa, resulta que estoy haciendo una aplicacion que trabaja con cadenas de texto. y resulta que necesito haer un replace pero solo en una parte de la cadena

osea trabaja asi: ahce un for to, hacia un numero x, los numeros se ordenan separados con comas y despues con un command, de esa cadena reemplazar solo un numero. por ej:

queda en el text:

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23

y lo que hice fue hacer un replace a por ejemplo 1 ... text1.text = replace(text1.text , 1, "table_name")

pero me va a reemplazar a todos los 1, eso lo solucione agregando replace(text1.text , 1 & "," & 2, "table_name") pero en 21,22 me queda: 2table_name,2

entienden lo que quiero hacer??

estuve todo una semana buscando, pero no encuentro una funcion similar

la verdad que estoy trabado :S
Título: Re: problemas con cadena de texto (replace)
Publicado por: Novlucker en 11 Septiembre 2009, 19:44 PM
Por poner un ejemplo, es lo que se me ocurre rapidamente:


Código (vb) [Seleccionar]
Function search_and_replace(texto As String, reemp_A As String, reemp_CON As String) As String

Dim buffer_aray() As String
Dim i As Integer

buffer_aray = Split(texto, ",")
texto = ""

For i = 0 To UBound(buffer_aray)
If buffer_aray(i) = reemp_A And Len(buffer_aray(i)) = Len(reemp_A) Then
texto = texto & Replace(buffer_aray(i), reemp_A, reemp_CON, 1) & ","
Else
texto = texto & buffer_aray(i) & ","
End If
Next

search_and_replace = Left(texto, Len(texto) - 1)

End Function


Saludos :P


P.D: me he dado cuenta de que el código GeSHi se ve mal (las tabulaciones) solo si publico con FF, con IE no ¬¬
Título: Re: problemas con cadena de texto (replace)
Publicado por: Skeletron en 11 Septiembre 2009, 19:52 PM
Amigo.. si lo que quieres es reemplazar es SOLAMENTE un 1 (por ejemplo)
Tienes que buscar a la cadena:    ,1,
Si quieres con un 2.. busca la cadena:    ,2,

Me explico?? o no es lo que buscas?
Título: Re: problemas con cadena de texto (replace)
Publicado por: fede_cp en 11 Septiembre 2009, 23:54 PM
muchas gracias Novlucker, cuando tenga un tiempito libre lo pruebo, ya entendi como lo pensaste, cuando lo implemente voy a postear tu code con comentarios al lado para la explciacion :)


saludos
Cita de: Skeletron en 11 Septiembre 2009, 19:52 PM
Amigo.. si lo que quieres es reemplazar es SOLAMENTE un 1 (por ejemplo)
Tienes que buscar a la cadena:    ,1,
Si quieres con un 2.. busca la cadena:    ,2,

Me explico?? o no es lo que buscas?

claro funcionaria igual pero tendria que crear una funcion en la que tome al numero le agregue comas y ahi reemplaze, porque la cantidad de numeros es una veriable, no es constante, y si por ejemplo ennumero 80 num, tendria que ir uno por uno o crear una funcion como la de Novlucker  ;D

saludos