处理字符串的MATLAB编程问题

时间:2011-05-23 06:58:06

标签: string matlab

编写一个加载文件words.trimmed的脚本,并提示用户输入一个单词。然后,您的脚本应该返回文件中与用户单词相差仅一个字母的每个单词。例如,如果用户输入“cat”,您的脚本应在命令窗口中打印出“bat”,“car”,“can”等。

我一直在考虑这个问题,但是我被困住了。我需要将用户输入的单词的每个字母与某些内容进行比较,但我不知道是什么。对于每个相同的字母,z = z + 1。最后,如果abs(z-length(用户键入的字))< = 1,则显示来自单词列表的单词。但我不知道如何为此编写代码。我该怎么比较呢?

1 个答案:

答案 0 :(得分: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