![]() |
Buscar cadena de texto y reemplazarla
Hola muy buenas.
Verán tengo el siguiente problema: Quiero abrir un archivo .txt y buscar una línea en la que ponga "set account 'Broly7'" y borrar el contenido entre comas. El caso es que abro el archivo Assignfile...Reset...pero no se que función usar para que busque ese texto y después trabajar con el. Tengo algo así:
Me ayudariais mucho. Gracias.:) |
Hola broly7, puedes utilizar la función StringReplace y recuperar tu archivo en un memo y si no lo quieres mostrar puedes utilizar también un StringList.
No entiendo bien esta parte, dices borrar el contenido entre comas y no hay ninguna coma sino comillas, ¿tu quieres encontrar el texto "set account 'Broly7'" y borrar Broly7?. El ejemplo anterior reemplaza todo ese texto por vacío. Saluditos |
Cita:
Gracias. |
Hay una función que se llama Pos.
Ésta función recibe 2 argumentos: 1) Substring a buscar (en tu caso "Broly"). 2) String donde lo vas a buscar. Te devuelve un entero, que es la posición donde empieza el texto que buscas, sino te devuelve 0. Saludos! |
Yo lo hago asi:
Ojala te sirva Saludos |
Como lo dice afunez2007 va a dar error por el tema de las comillas, deberías poner el substring asi:
'set account ''Broly7''' Sí, ves bien. Son 2 comillas simples antes de Broly7 y 3 comillas simples luego de Broly7. Eso 2 comillas simples unidas son tomadas por el compilador como una comilla simple dentro del string. Las 3 comillas simples unidas significa 2 comillas para agregar una simple al string, y 1 comilla final para terminar el string. Saludos! |
Como bien te dice afunez2007, también puedes utilizar la función AnsiReplaceStr, añadiendo un poquito, para que StringReplace funcione como la función AnsiReplaceStr, debes añadir la opción rfIgnoreCase (Memo1.Text := StringReplace(.., '', [rfReplaceAll, rfIgnoreCase]);), las formas remplazan el segundo por tercer parámetro en todo el texto sin hacer diferencia entre mayusculas y minusculas.
En mi primer mensaje yo puse lo de las comillas para que las reconociera. Cita:
Saluditos |
Cita:
Saludos |
La franja horaria es GMT +2. Ahora son las 03:11:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi