Autor
|
Tema: problemas con cadena de texto (replace) (Leído 2,339 veces)
|
fede_cp
Desconectado
Mensajes: 527
"porque pensar nunca fue entender"
|
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
|
|
|
En línea
|
somos lo que hacemos para cambiar lo que somos
http://elhackerblog.blogspot.com el blog de elhacker.net!!
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Por poner un ejemplo, es lo que se me ocurre rapidamente: - Realizas un split de la cadena
- Evaluas uno a uno los valores que vas a revisar
- Si el texto y largo de la cadena buscada coincide con el que queremos reemplazar
- Reemplazamos y almacenamos en una nueva cadena
- O bien almacenamos sin cambiar
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.D: me he dado cuenta de que el código GeSHi se ve mal (las tabulaciones) solo si publico con FF, con IE no ¬¬
|
|
« Última modificación: 11 Septiembre 2009, 19:51 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
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?
|
|
|
En línea
|
|
|
|
fede_cp
Desconectado
Mensajes: 527
"porque pensar nunca fue entender"
|
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 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 saludos
|
|
|
En línea
|
somos lo que hacemos para cambiar lo que somos
http://elhackerblog.blogspot.com el blog de elhacker.net!!
|
|
|
|
|