C# 用另外两个不起作用的单词替换两个单词字符串
我从互联网上得到了一些字符串,格式像“light rain”等等,不,我想把这个字符串“翻译”成其他语言,但如果我尝试以下方式:C# 用另外两个不起作用的单词替换两个单词字符串,c#,string,windows-phone-8,windows-phone,C#,String,Windows Phone 8,Windows Phone,我从互联网上得到了一些字符串,格式像“light rain”等等,不,我想把这个字符串“翻译”成其他语言,但如果我尝试以下方式: get { return description.replace("light rain", "111 222") .replace("light snow", "333 444"); } 我得到的结果是“light-bla”而不是“bla-bla”
get
{
return description.replace("light rain", "111 222")
.replace("light snow", "333 444");
}
我得到的结果是“light-bla”而不是“bla-bla”,因此第一个单词不知何故没有翻译。在Windows Phone 8应用程序中,有没有其他方法可以将“硬编码”字符串翻译成其他语言
我已经修改了代码,让它更清晰。上面你们看到,我需要更多的字符串被替换,但每个字符串在另一种语言中都有自己的含义,所以对于单词light,我必须替换两个不同的单词,而不仅仅是一个。因此,333
然而,这个代码每次都给我“light 222”,但它并没有取代light
它使用下面的方法工作。我就是这样用的:
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)
它实际上应该适用于更复杂的字符串和句子。谢谢你的回答
get
{
var result = description.replace("light rain", "bla bla");
return result;
}
阅读有关
字符串替换的更多信息on可能问题在于替换是区分大小写的,而您的字符串在这方面有所不同。为了解决多个“轻”字的问题,您应该使用正则表达式将“light rain”替换为“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”
,它不起作用,因为它做的事情与上面的代码相同。我想问题是,在这根弦之后,我有了更多的光,但它赋予了它另一种意义。我有很多字符串,比如.replace().replace().replace(),其中一些是大字符串,甚至是句子。我知道其中一些是“光”这个词。这是没有翻译的。我不知道这有什么好处,但也没用。让我解释一下,所以我需要翻译“小雨”,我得到了“lagana kiša”,但我得到的下一个字符串是“小雪”,但我不能再使用lagana,因为它在英语中应该是“blagi snijeg”,这是一个词,但我需要用每一个字符串得到另一个翻译(替换)。然后我以这样的方式结束。替换(“小雨”,“拉加纳基沙”)。替换(“小雪”,“布拉吉斯尼杰”)。但是有一个问题,它通常不再识别第二个字符串,我得到了snow翻译(替换),但在这第二个字符串中没有light。然后再次说明如何使用你的方法来翻译大约100个字符串,我必须翻译?!