Find the string into an special bracket

3 Ansichten (letzte 30 Tage)
Tan Phan
Tan Phan am 21 Jul. 2018
Bearbeitet: Jan am 23 Jul. 2018
Hello All, I have a string.
Ex: str = 'abc = "xyz";'
I want to use regexp command to find out "xyz" in below string.
my patern :
pat = '^=.;$'
with meaning (as my understanding)
_^= : beginning with =
. : get all thing between
;$ : ending with ;_
and run with
tk = regexp(str, pat) --> tk = [] in result
what wrong with my commands?
Thanks!

Akzeptierte Antwort

Jan
Jan am 21 Jul. 2018
Bearbeitet: Jan am 21 Jul. 2018
  • ^ is the start of the string, not of the searched pattern.
  • Equivalently $ is the end of the string, not the pattern, too.
What about:
regexp(str, '"(.*?)"', 'match')
or
regexp(str, '"([^"]*)"', 'match')
  2 Kommentare
Jan
Jan am 23 Jul. 2018
[MOVED from section for answers] Tan Phan wrote:
Thank for your answer.
I have more question.
What happen if str is not a string I input from command Window.
I save it in file and using fopen/textscan to parse it.
In that file with information : abc = 'xyz';
I changed "xyz" to 'xyz' and I can not parse it with your regexp command ( ' '(.*?)' ' or ' '([^']*)' ') is not available in Matlab with my test.
Jan
Jan am 23 Jul. 2018
Bearbeitet: Jan am 23 Jul. 2018
"Is not available"? Remember that you need two quote characters inside a string to represent quote:
str = 'This is one quote: [''] '
Run this in the command window to check it.
Parsing quotes can interfere with e.g. "it's"

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by