我以“小雨”等格式从互联网上获取一些字符串,依此类推,我不想将这个字符串“翻译”成其他语言,但如果我尝试这样的话:
get
{
return description.replace("light rain", "111 222")
.replace("light snow", "333 444");
}
我得到结果“light bla”而不是“bla bla”,所以第一个单词不知何故没有翻译。有没有其他方法可以将“硬编码”字符串转换为Windows Phone 8应用程序中的其他语言?!
我已经更改了代码以使其更清晰。上面你看到我需要更多的字符串来替换,但是每个字符串在另一种语言中都有其自己的含义所以对于单词light我有两个不同的单词我必须替换,而不仅仅是一个。因此333。
然而,这段代码每次都给我“灯222”,但它不会取代灯光。
它适用于下面的方法。我只是这样使用它:
string sentence = "light rain";
string pattern = "light rain";
Regex reg = new Regex(pattern);
string translation = "lagana kiša";
string result1 = reg.Replace(sentence, translation);
var result = description
.Replace("light rain", result1)
它实际上应该适用于更复杂的字符串和句子。谢谢你的回答。
答案 0 :(得分:0)
get
{
var result = description.replace("light rain", "bla bla");
return result;
}
详细了解MSDN
上的string replace
答案 1 :(得分:0)
问题可能是替换是区分大小写的,而你的字符串则不同。
答案 2 :(得分:0)
为了解决多个“轻”字的问题,你应该使用正则表达式来代替“小雨”和“bla bla”
这是控制台应用程序中的一些测试用例:
string sentence = "light light light rain rain bla";
string pattern = "light rain";
Regex reg = new Regex(pattern);
string translation = "bla bla";
string result = reg.Replace(sentence, translation);
Console.WriteLine(result);
结果将为"light light bla bla rain bla"