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

3 次查看(过去 30 天)
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))');

采纳的回答

Bhavya Chopra
Bhavya Chopra 2021-7-8
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 个评论
Kazi Alam
Kazi Alam 2021-7-8
@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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by