Azzera filtri
Azzera filtri

Find the string into an special bracket

3 visualizzazioni (ultimi 30 giorni)
Tan Phan
Tan Phan il 21 Lug 2018
Modificato: Jan il 23 Lug 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!

Risposta accettata

Jan
Jan il 21 Lug 2018
Modificato: Jan il 21 Lug 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 Commenti
Jan
Jan il 23 Lug 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 il 23 Lug 2018
Modificato: Jan il 23 Lug 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"

Accedi per commentare.

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by