-1 matlab
我需要在Matlab中创建一个包含以下函数的m文件:
function acr = acronym(phrase)
Run Code Online (Sandbox Code Playgroud)
该函数应该计算并返回该函数的结果作为短语的首字母缩写词; 也就是说,如果有人在Matlab中键入任何短语,则此函数应返回由该短语中每个单词的第一个字母组成的首字母缩写词.我知道这是一个简单的功能,但我的编码经验非常有限,任何帮助都会受到赞赏; 提前致谢.
这是使用正则表达式的好地方.该函数regexp接受一个字符串和一个正则表达式,并返回与正则表达式匹配的每个子字符串的起始索引.在这种情况下,您希望匹配任何开始单词的字符.当它出现在单词的开头时\<expr匹配expr(参见 文档regexp).句点匹配任何字符.所以正则表达式匹配任何单词的第一个字符是\<..从而,
regexp(phrase,'\<.')
Run Code Online (Sandbox Code Playgroud)
将返回每个单词的第一个字母的索引phrase.所以首字母缩略词功能可以是:
function acr = acronym(phrase)
ind = regexp(phrase, '\<.');
acr = upper(phrase(ind));
end
Run Code Online (Sandbox Code Playgroud)
甚至只是
function acr = acronym(phrase)
acr = upper(phrase(regexp(phrase, '\<.')));
end
Run Code Online (Sandbox Code Playgroud)