Finding a character in a string?
83 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Johny
am 3 Dez. 2013
Kommentiert: Jos (10584)
am 3 Dez. 2013
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 Kommentare
Akzeptierte Antwort
The Matlab Spot
am 3 Dez. 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 Kommentare
Jos (10584)
am 3 Dez. 2013
using regexp for this problem is like killing a mosquito with a nuclear missile ...
Weitere Antworten (2)
sixwwwwww
am 3 Dez. 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 Kommentare
Jos (10584)
am 3 Dez. 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 Kommentare
Siehe auch
Kategorien
Mehr zu String Parsing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!