MATLAB Answers

How to search and replace a text from a character vector?

2 views (last 30 days)
Kazi Alam
Kazi Alam on 8 Jul 2021
Commented: Kazi Alam on 8 Jul 2021
Hallo, Thanks for reading,
I have a character array (1x22222) read from a text file. Using the character vector I would like
to serach for the following line within the array: ( ' * ' here is represented as random text part)
'(:PAR :N CORNERS :DIM (4 2) :V #2A(*)'
After that I would like to replace the text with following line:
'(:PAR :N CORNERS :DIM (4 2) :V #2A((0.0 4.0) (2.5 4.0) (2.5 0.0) (0.0 0.0))'
I have the following lines of code but it cannot find the intended text
f = regexprep(character_array,'(:PAR :N CORNERS :DIM (4 2) :V #2A(*)'],...
'(:PAR :N CORNERS :DIM (4 2) :V #2A((0.0 4.0) (2.5 4.0) (2.5 0.0) (0.0 0.0))');

Accepted Answer

Bhavya Chopra
Bhavya Chopra on 8 Jul 2021
Please note that ‘(‘ is a special character. For replacing the described lines with the intended text, please replace the expression (second argument of the regexprep function) with:
'\(:PAR :N CORNERS :DIM \(4 2\) :V #2A\(.*?\)'
  1 Comment
Kazi Alam
Kazi Alam on 8 Jul 2021
@Bhavya Chopra thank you very much. A follow-up question, if you are interested.
I have similar lines with varying number as you can see in photo below ( numbered the lines). If I want to change the numbers on individual lines what would be the procedure. Right now with wildcard only the first line can be changed.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by