matlab 使用有道翻译API (推荐!)

matlab里面有 urlread() 以及 webread() 两个内置函数可以读取网页内容,这样就可以利用有道翻译提供的API在程序内部翻译。

下面是 有道翻译API的官方使用说明:
在这里插入图片描述网址:website=[‘http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd33&key=1310976914&type=data&doctype=xml&version=1.1&q=’ word '&only=translate" ']; 其中的word需要替换成需要翻译的内容。

比如我们需要翻译 i love matlab 这句话,按照给出的方式写入网址,用urlread函数读取得到:
在这里插入图片描述
matlab 使用有道翻译API (推荐!)_第1张图片
如果你是需要中文翻译成英文,必须先将中文utf-8编码,用到函数 urlencode(),否则会出错。最后用正则表达式取出需要的字符串,你也可以使用strfind函数来取。

例如现在我要翻译Chinese这个单词
返回得到的字符串有一大串,我们需要的部分为:matlab 使用有道翻译API (推荐!)_第2张图片
通过两个strfind函数找到两端:
matlab 使用有道翻译API (推荐!)_第3张图片
matlab 使用有道翻译API (推荐!)_第4张图片
再通过strrep()函数替换里面过多空格以及不需要的代码,用strtrim()函数可以去掉首尾的空格:
matlab 使用有道翻译API (推荐!)_第5张图片

matlab 使用有道翻译API (推荐!)_第6张图片
任务完成!

function str=lookup(word)
word=urlencode(word);  % 先给单词编码
website=['http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd33&key=1310976914&type=data&doctype=xml&version=1.1&q=' word '&only=translate" '];
[sourcefile status]=urlread(website);
expr1='';
expr2='';
aa=strfind(sourcefile,expr1)+11;
bb=strfind(sourcefile,expr2)-1;
str=sourcefile(aa:bb);
str=strrep(str,','');
str=strrep(str,']]>','');
str=strrep(str,'  ','');
str=strtrim(str);
end

你可能感兴趣的:(Matlab,笔记,#,MATLAB工具,matlab,API,urlread)