Effacer les filtres
Effacer les filtres

Read a text file that includes numbers and strings and edit it in different places

1 vue (au cours des 30 derniers jours)
I have a text file that is something like the attached picture. I want to read this file and whenever I come to the line 67 my code will add lines like
67 and 68 and follows as,
67 *Nset, nset=node1, instance=Part-1-1
68 1
69 *Nset, nset=node2, instance=Part-1-1
70 2
71 *Nset, nset=node3, instance=Part-1-1
72 3
and onwards...
Basically it will add two lines after it counters the line 67th.
67

Réponses (1)

Walter Roberson
Walter Roberson le 8 Nov 2022
readlines() to get a string array. Index 1:66, then several entries with the new lines, then index 68:end. writelines() the results.
  2 commentaires
MD MAHABUBUR ROHOMAN
MD MAHABUBUR ROHOMAN le 8 Nov 2022
Thanks for your response. What if I just want to write a text file like the following,
*Nset, nset=node1, instance=Part-1-1
1
*Nset, nset=node2, instance=Part-1-1
2
....
...
..... and onwards?
Walter Roberson
Walter Roberson le 9 Nov 2022
nodenums = 1:3;
part1 = "*Nset, nset=node";
part2 = ", instance=Part-1-1";
output1 = part1 + nodenums.' + part2;
output2 = string(nodenums.');
output = reshape([output1, output2].', [], 1)
output = 6×1 string array
"*Nset, nset=node1, instance=Part-1-1" "1" "*Nset, nset=node2, instance=Part-1-1" "2" "*Nset, nset=node3, instance=Part-1-1" "3"
filecontents = readlines(FILENAME);
newcontents = [filecontents(1:66); output; filecontents(68:end)];
writelines(newcontents, NEWFILENAME);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by