C# - 擦除字符串,如果在另一个字符串中找不到

发布于 2025-02-11 17:40:16 字数 503 浏览 3 评论 0原文

我无法完成工作,它很近,但无法正常工作:D 我这里的逻辑似乎有点偏离,有人可以帮我吗? 我要实现的目标是:检查字符串2是否包含字符串1中不存在的单词。如果找到了这样的词,请将其打印出来并删除

string[] string1 = { "1", "2", "3" };
string[] string2 = { "1", "2", "3", "hello" };

foreach (var var2 in string2)
{
   foreach (var var1 in string1)
   {
      if (!var1.Equals(var2))
      {
         Consoleprint(var2); //print out the string that does not exist in string1[]... which is "hello"
         var2.Replace(var2, ""); //erase the unmatched string
      }
   }
}

I cannot get this to work, its close, but not working :D
My logic here seems to be a bit off, can someone help me out?
What i am trying to achieve is: check if string2 contains a word that does not exist in string1. if this kind of word is found, print it out, and delete it

string[] string1 = { "1", "2", "3" };
string[] string2 = { "1", "2", "3", "hello" };

foreach (var var2 in string2)
{
   foreach (var var1 in string1)
   {
      if (!var1.Equals(var2))
      {
         Consoleprint(var2); //print out the string that does not exist in string1[]... which is "hello"
         var2.Replace(var2, ""); //erase the unmatched string
      }
   }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

剩余の解释 2025-02-18 17:40:16

您可以切换到循环的;请注意,您应该更改数组的项目string2 [i] =“”,而不是循环变量:

for (int i = 0; i < string2.Length; ++i)
  if (!strings1.Contains(string2[i])) {
    // Let's print array item before it will be "erased"
    Consoleprint(string2[i]);

    string2[i] = "";
  }

You can switch to for loop; note that you should change the item of the array, string2[i] = "", not loop variable:

for (int i = 0; i < string2.Length; ++i)
  if (!strings1.Contains(string2[i])) {
    // Let's print array item before it will be "erased"
    Consoleprint(string2[i]);

    string2[i] = "";
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文