Effacer les filtres
Effacer les filtres

Find the string into an special bracket

3 vues (au cours des 30 derniers jours)
Tan Phan
Tan Phan le 21 Juil 2018
Modifié(e) : Jan le 23 Juil 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!

Réponse acceptée

Jan
Jan le 21 Juil 2018
Modifié(e) : Jan le 21 Juil 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 commentaires
Jan
Jan le 23 Juil 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 le 23 Juil 2018
Modifié(e) : Jan le 23 Juil 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"

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by