C# 用于替换字符串中单词的Linq查询
我需要一个在c#中使用linq查询的逻辑 输入字符串: 印度是英国,英国是印度 输出字符串: 英国是印度,印度是英国 我使用普通的foreach循环实现了上述要求,并且需要使用linq查询逻辑。下面是我的foreach循环代码C# 用于替换字符串中单词的Linq查询,c#,.net,C#,.net,我需要一个在c#中使用linq查询的逻辑 输入字符串: 印度是英国,英国是印度 输出字符串: 英国是印度,印度是英国 我使用普通的foreach循环实现了上述要求,并且需要使用linq查询逻辑。下面是我的foreach循环代码 string inputString1 = "India is England and England is India"; string[] str = inputString1.Split(' '); StringBuilder sb = new StringBuil
string inputString1 = "India is England and England is India";
string[] str = inputString1.Split(' ');
StringBuilder sb = new StringBuilder();
foreach (var item in str)
{
if (item == "India")
{
sb.Append("England");
sb.Append(' ');
}
else if(item == "England")
{
sb.Append("India");
sb.Append(' ');
}
else
{
sb.Append(item);
sb.Append(' ');
}
}
Console.WriteLine(sb);
Console.ReadLine();
您只需使用3个替换,无需linq:
var outputString1 = inputString1.Replace("India", "<placeholder>")
.Replace("England", "India")
.Replace("<placeholder>", "England");
var outputString1=inputString1.Replace(“India”和“”)
.替换(“英国”、“印度”)
.替换(“英格兰”);
您在Select
中尝试过内联条件吗?类似于str.Select(x=>x==“英格兰”?“印度”:(x==“印度”?“英格兰”:x))
?简单:字符串输入=“印度是英格兰,英格兰是印度”;string output=string.Join(“and”,input.Split(新字符串[]{”和“},StringSplitOptions.None).Reverse());为什么你“需要一种逻辑”?