String 处理字符串的MATLAB编程问题

String 处理字符串的MATLAB编程问题,string,matlab,String,Matlab,编写一个脚本,加载words.trimmed文件并提示用户输入单词。然后,脚本应返回文件中与用户单词仅相差一个字母的每个单词。例如,如果用户输入“cat”,脚本应在命令窗口中打印“bat”、“car”、“can”等。 我考虑这个问题已经有一段时间了,但我被卡住了。我需要将用户输入的单词的每个字母与其他字母进行比较,但我不知道是什么。对于每个相同的字母,z=z+1。最后,如果Matlab中的abs(z-length(用户键入的单词))字符串只是一个字符数组,您可以使用=轻松地进行比较。这将为您提供

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


我考虑这个问题已经有一段时间了,但我被卡住了。我需要将用户输入的单词的每个字母与其他字母进行比较,但我不知道是什么。对于每个相同的字母,z=z+1。最后,如果Matlab中的abs(z-length(用户键入的单词))字符串只是一个字符数组,您可以使用
=
轻松地进行比较。这将为您提供一个字符串长度为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

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

不要仅仅因为问题已经解决就删除它。如果下面的答案解决了您的问题,请单击复选标记接受。如果你找到了自己问题的解决方案,那么欢迎你在这里写下答案。删除你的问题不好,会很快被回滚。不要因为问题已经解决就删除它。如果下面的答案解决了您的问题,请单击复选标记接受。如果你找到了自己问题的解决方案,那么欢迎你在这里写下答案。删除您的问题并不好,会立即回滚。