Finding a character in a string?
83 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
so I have the following line of code:
hashtag=lower(input('Which hashtag would you like information on?','s'));
This prompts the user to input a hashtag, like say '#helloworld'. However, the program runs even without the user putting the hashtag. So it runs even if they only input "helloworld", which presents problems for me later on. How can I get the code to stop reading and present an error message if there is no hashtag symbol in the user's input? Apparently the # character means something in matlab as well which is causing me problems.
I have this so far but it seems not to work:
if k=(strfind(hashtag,'#')))
error('Please include the hashtag')
end
0 Commenti
Risposta accettata
The Matlab Spot
il 3 Dic 2013
using start anchor with regexp will ensure that you '#' as the first character of you input string.
hashtag=lower(input('Which hashtag would you like information on?','s'));
if(isempty(regexp(hashtag,'^#','once')))
error('Please include the hashtag')
end
2 Commenti
Jos (10584)
il 3 Dic 2013
using regexp for this problem is like killing a mosquito with a nuclear missile ...
Più risposte (2)
sixwwwwww
il 3 Dic 2013
Dear Johny, try this:
hashtag=lower(input('Which hashtag would you like information on?','s'));
if isempty(strfind(hashtag, '#'))
error('Please include the hashtag')
end
0 Commenti
Jos (10584)
il 3 Dic 2013
Per definition a hashtag starts with a # sign followed by one or more letters or numbers
So, quite simply, check all these three requirements:
str = lower(input('Which hashtag would you like information on?','s'));
if numel(str)<2 || str(1) ~= '#' || ~all(ismember(str(2:end),['a':z' '_' '0':'9']))
error('Input is not a valid hashtag') ;
end
0 Commenti
Vedere anche
Categorie
Scopri di più su String Parsing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!