2016-02-26 89 views
0

我想看看用戶輸入的字母是否與字典中的任何單詞匹配。在Matlab中比較第一個字母的字符串

有人可以幫我做這個嗎?謝謝!

words = {'apple', 'banana', 'bee', 'salad', 'corn', 'elephant', 'pterodactyl'}; 

user_letter_input = input('Please enter the first letter of a word: '); 

for i = words 
    if (i starts with user_letter_input) 
     disp(['Your new word is: ' i]); 
    end 
end 
+4

退房'strncmpi':http://www.mathworks.com/help/matlab/ref/strncmpi.html – Ellis

+1

另外,你的 '結束' if否子句 – neerad29

+1

我同意@ em1382:Matlab的內置函數帶有字符串('strcmp','strfind','strncmpi','strcmpi'等等)比直接比較'x = = y' – Alessiox

回答

2

您可以使用:

if(i{1}(1) == user_letter_input) 
+0

所以你在說:'if(i(1)== user_letter_input)'? – jape

+0

對不起,您需要先取消引用單元格。我已經更新了我的答案來解釋這一點。 – neerad29

0

這裏有一個不同的,誠然更hackish的方法:

w = char(words); %// convert to 2D char array, padding with spaces 
result = find(w(:,1)==user_letter_input); %// test equality with first column 

result將與所有匹配單詞索引的向量。例如,

words = {'apple', 'banana', 'bee', 'salad', 'corn', 'elephant', 'pterodactyl'}; 
user_letter_input = 'b' 

會給

result = 
    2 
    3 
相關問題