Borrar filtros
Borrar filtros

Find string in txt and delete searched string line

4 visualizaciones (últimos 30 días)
Bloodyrhyme
Bloodyrhyme el 26 de Abr. de 2019
Comentada: Bob Thompson el 26 de Abr. de 2019
I have a text file.
Example
Bloody, 123456, Rhyme
Fine,6542445,Fate
Faith,9875415,Empty
Faith,45152123,New
I want to search for 'Faith' and i want to delete all Faith lines or i want to search for 'empty' and i want to delete all empty lines.
this is good but its delete all info until searched string, not searched string line.

Respuesta aceptada

Bob Thompson
Bob Thompson el 26 de Abr. de 2019
You can use Jan's method from the linked question to find your lines. Then once you have found them turn them into blank lines (I'm assuming that's also what you mean by 'emtpy'). Once you have found all of the lines, using logic indexing to remove all blanks.
Index = find(strcmp(CStr, SearchedString), 1); % Find lines with 'Faith'
CStr(Index) = []; % Blank found lines
CStr = ~isempty(CStr); % Remove any empty lines, may need ~isempty([CStr(:)]);
  2 comentarios
Bloodyrhyme
Bloodyrhyme el 26 de Abr. de 2019
Editada: Bloodyrhyme el 26 de Abr. de 2019
Empty is a only word for example. Not situation for txt. i want to find 'empty' as word and i want to delete that line. my mistakes. i tell wrong i guess.
Bob Thompson
Bob Thompson el 26 de Abr. de 2019
That's fine. The 'simplest' way to look for multiple words is to run the search multiple times, once for each word, and blank out the respective lines.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by