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函数读取得到:
在这里插入图片描述
在这里插入图片描述
如果你是需要中文翻译成英文,必须先将中文utf-8编码,用到函数 urlencode(),否则会出错。最后用正则表达式取出需要的字符串,你也可以使用strfind函数来取。

例如现在我要翻译Chinese这个单词
返回得到的字符串有一大串,我们需要的部分为:在这里插入图片描述
通过两个strfind函数找到两端:
在这里插入图片描述
在这里插入图片描述
再通过strrep()函数替换里面过多空格以及不需要的代码,用strtrim()函数可以去掉首尾的空格:
在这里插入图片描述

在这里插入图片描述
任务完成!

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='<explains>';
expr2='</explains>';
aa=strfind(sourcefile,expr1)+11;
bb=strfind(sourcefile,expr2)-1;
str=sourcefile(aa:bb);
str=strrep(str,'<ex><![CDATA[','');
str=strrep(str,']]></ex>','');
str=strrep(str,'  ','');
str=strtrim(str);
end
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆拾伍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值