Is there a way to narrow down string searches to specfics integers/characters?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Sancheet Hoque
le 17 Oct 2016
Commenté : Walter Roberson
le 18 Oct 2016
I have a program that reads files and organizes them into structures. Unfortunately some of the files are not being read correctly because of the search. Here is an example on what string it searches for
Keyword = 'SLGN ';
Indices = strfind(Text, Keyword);
Instead I want to search for
Keyword = 'SLGN X,'
X being any integer or word. What I really want is that comma that is at the end of the phrase. Simply having SLGN with a space after it causes problems for some of the files since I'm trying to parse the lists rather than the paragraphs.
0 commentaires
Réponse acceptée
Walter Roberson
le 18 Oct 2016
You do not speak about how you are doing the search. You can do that kind of matching with regexp()
Keyword = 'SLGN \w+,'
regexp(WhatYouAreSearching, Keyword)
you might want to add 'match' as an option, depending what you want to do with the result of the match.
7 commentaires
Walter Roberson
le 18 Oct 2016
Keyword = 'SLGN\s+(\S+\s*,\s*)+\S+\s*$'
and add the option 'lineanchors'
This requires at least one comma and permits spaces before and after commas and permits the items to include any character except white space because the "(" followed by a word is required to match and so is word followed immediately by ")". So what it does not allow is if there is no comma or if there is a multiple word phrase between commas or a comma is the last non blank on the line.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!