ARRANGING TEXT FILE?

3 次查看(过去 30 天)
AHMET TATAR
AHMET TATAR 2017-10-8
评论: Cedric 2017-10-8
Hi,
I am working on a dynamic analysis. I am trying to run ANSYS on MATLAB. Therefore I have to change some value in my text file. Text file is large but i need to change e few line as follows;
loadvari47rotz(2,1,1) = *0.174532925199433* ??CHANGING_LINE-1
loadvari47rotz(3,1,1) = *0.349065850398866* ??CHANGING_LINE-2
I want to change above value for each step. Text file is at attachment and you can find changing lines CTRL+F "??CHANGING_LINE-1" and "??CHANGING_LINE-1".
I will be so happy if you help me.
Best Regards, Ahmet TATAR

采纳的回答

Cedric
Cedric 2017-10-8
编辑:Cedric 2017-10-8
Here is an example, and then we can tailor the solution to your needs from there:
content = fileread( 'TEST.txt' ) ;
content = regexprep( content, '(?<=_loadvari47rotz\(2,1,1\) = )\S+', sprintf( '%f', 0.123 )) ;
content = regexprep( content, '(?<=_loadvari47rotz\(3,1,1\) = )\S+', sprintf( '%f', 0.456 )) ;
fId = fopen( 'TEST_updated.txt', 'w' ) ;
fwrite( fId, content ) ;
fclose( fId ) ;
This can easily be updated for matching/replacing other parts, looping through files, etc.
  1 个评论
Walter Roberson
Walter Roberson 2017-10-8
To emphasize slightly: Cedric produces a new output file that has the right content, rather than changing the values "inside" the file. Updating a text file "in place" is only possible if the replacement text has exactly the same length as the original text. The update process is enough of a nuisance to do reliably that on the whole producing a new output file is easier and more reliable.

请先登录,再进行评论。

更多回答(1 个)

AHMET TATAR
AHMET TATAR 2017-10-8
Dear Cedric and Walter,
This is very helpful for me. thank you for information.
  1 个评论
Cedric
Cedric 2017-10-8
Our pleasure!
And thank you Walter for the complement :)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Text Data Preparation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by