我有一个类似的字符串(通过Google Transliterate REST调用生成,并音译为 2 语言):
“这个世界是美丽的,थिसवर्ल्डइ्बेऔतिफुलएंड থিসসর্ল্ডডইসিয়াউতিফুলফুল্দ令人惊讶的神秘 अमज़िन्ग्लीम्य्स्तेरिऔसআমাজিন্গ্লিম্য্স্তেরীয়ুস“
现在Google Transliterate REST调用一次允许五个字,所以我必须循环,将其添加到列表,然后连接字符串。这就是为什么我们看到每个CHUNK(每种语言)都是 5 字。单词总数 7 单词,因此首先 5 (This world is beautiful and
)位于休息之前 2 (amazingly mysterious
)稍后。
如何最有效地解析句子,以便得到类似的内容:
这个世界是美丽的,令人惊讶的神秘थिसवर्ल्डइइबअननननननननननननन्््থথথথথথথথথথথথথথথথথথথথথথথীয়ুসীয়ুসীয়ুসীয়ুসীয়ুসীয়ুস
由于句子的长度,以及可以转换成语言的数字可以是动态的,可以使用每种语言的列表都可以工作< / em>,然后再串联?
我使用了一种方法,我将每个单词音译,一次一个,它运行良好,但速度太慢,因为它增加了对API的调用次数。
有人可以帮助我实现这种情景的有效(和动态)吗?谢谢你!
答案 0 :(得分:1)
每种语言都有一个列表可供选择。
答案 1 :(得分:0)
如果你的意思是不同语言的不同字符ASCII代码,你可以在这里使用这个答案:
答案 2 :(得分:0)
支付谷歌翻译的API,然后每个请求的长度限制最多为5,000个字符https://developers.google.com/translate/v2/faq
同样,是的,正如丹尼尔所说 - 按语言对文本进行分组是必要的
答案 3 :(得分:0)
我尝试了一项工作,如果我误解了你的问题,请纠正我
string statement = "This world is beautiful and थिस वर्ल्ड इस बेऔतिफुल एंड থিস বর্ল্ড ইস বিয়াউতিফুল আন্দ amazingly mysterious अमज़िन्ग्ली म्य्स्तेरिऔस আমাজিন্গ্লি ম্য্স্তেরীয়ুস ";
string otherLangStmt = statement;
MatchCollection matchCollection = Regex.Matches(statement, "([a-zA-Z]+)");
string result = "";
foreach (Match match in matchCollection)
{
if (match.Groups.Count > 0)
{
result += match.Groups[0].Value + " ";
otherLangStmt = otherLangStmt.Replace(match.Groups[0].Value, string.Empty);
}
}
otherLangStmt = Regex.Replace(otherLangStmt.Trim(), "[\\s]", " ");
Console.WriteLine(result);
Console.WriteLine(otherLangStmt);