2011-05-23 40 views
0

編寫一個加載文件words.trimmed的腳本,並提示用戶輸入一個單詞。然後,您的腳本應該只返回一個字母,將文件中與用戶單詞不同的每個單詞都返回。例如,如果用戶輸入'cat',則腳本應在命令窗口中打印'bat','car','can'等。處理字符串的MATLAB編程問題

我一直在想這個問題一段時間了,但我卡住了。我需要比較用戶輸入的單詞的每個字母,但我不知道是什麼。對於每個相同的字母,z = z + 1。最後,如果abs(z-length(由用戶鍵入的單詞))< = 1,則呈現來自單詞列表的單詞。但我不知道如何編寫代碼。我該比較什麼?

+0

不要刪除,只是因爲問題現在已經解決了。如果下面的答案解決了您的問題,請點擊複選標記接受它。如果你找到了解決你自己問題的辦法,那麼歡迎你在這裏寫下答案。刪除你的問題並不好,並會立即回滾。 – abcd 2011-05-23 14:44:41

回答

4

Matlab中的字符串只是一個字符數組,您可以使用==輕鬆進行比較。這會給你一個1串的長度的邏輯陣列無論字符串是相同的:

>> a = 'abc' 
a = 
abc 
>> b = 'abd' 
b = 
abd 
>> a == b 
ans = 
1  1  0 

所以你的比較,例如可以是:

num_equal_letters = sum(string1 == string2); 
if (num_equal_letters == length(string1) - 1) 
    % print string... 
end