finding a string with parentheses using regexp

8 vues (au cours des 30 derniers jours)
wesso Dadoyan
wesso Dadoyan le 22 Juin 2016
Modifié(e) : Stephen23 le 23 Juin 2016
A={'5123(P)';'5123 ESP'} how can i search A to find the cell that has the '(P)' string?
find(~cellfun(@isempty,regexp(A,'(P)')));
is giving 1 & 2 as answer which is not correct since it should be 1 only

Réponse acceptée

Stephen23
Stephen23 le 22 Juin 2016
Modifié(e) : Stephen23 le 23 Juin 2016
find(~cellfun(@isempty,regexp(A,'\(P\)')));
Explanation: parentheses are special characters in regular expressions, and need to be escaped to be treated as literal parentheses. Of course the documentation is the best place to learn how to to use regular expressions properly:
Alternatively you could simply use strfind instead of regexp:
find(~cellfun(@isempty,strfind(A,'(P)')))

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by