【问题标题】:C# search for words stored in clipboard and output searched words to the clipboardC#搜索存储在剪贴板中的单词并将搜索到的单词输出到剪贴板
【发布时间】:2022-01-16 23:43:20
【问题描述】:

我是 C# 新手,需要帮助格式化此代码,我尝试从剪贴板读取特定单词,然后将其输出回剪贴板。我需要在字符串列表搜索中添加无穷无尽的数字或单词。

Text = Clipboard.GetText();

string Text = "Text to analyze for words, chair, table";

List<string> words = new List<string> { "chair", "table", "desk" };

var result = words.Where(i => Text.Contains(i)).ToList();

TextOut = Clipboard.SetText();

\\outputs “chair, table” to the clipboard

【问题讨论】:

    标签: c# list clipboard contains


    【解决方案1】:

    您遇到的问题是result 是一个单词列表,但您不能在剪贴板上放置一个列表。你必须把它变成一个字符串。

    您可以使用 Join 方法 (string.Join) 执行此操作,并指定要在单词之间放入的内容,即逗号和空格:

            //string Text = Clipboard.GetText();
            string Text = "Text to analyze for words, chair, table";
    
            List<string> words = new List<string> { "chair", "table", "desk" };
    
            // No need for ToList - the enumerable will work with Join
            IEnumerable<string> foundWords = words.Where(i => Text.Contains(i)); 
            string result = string.Join(", ", foundWords);
            Clipboard.SetText(result);
    

    【讨论】:

      【解决方案2】:

      您的代码几乎没问题。

      我认为你需要用空格或逗号分隔剪贴板中的单词,但你需要找到一些东西来做到这一点。

      然后:

      var Text = Clipboard.GetText();
      
      //imagine you have words, chair, table
      //you split to have an array containing 
      var arrayString = Text.Split(',')
      
      List<string> wordsToSearch = new List<string> { "chair", "table", "desk" };
      
      //you check your list
      var result = wordswordsToSearch.Where(i => arrayString.Contains(i)).ToList();
      
      //and set clipboard with matching content
      var TextOut = Clipboard.SetText(result);
      
      \\outputs “chair, table” to the clipboard
      

      我不知道我的代码是否有效,但这是我从您的需求中理解的想法。

      【讨论】:

      • 我认为你应该测试一下它是否有效,Alexandre Castro! result 是一个列表,但您不能将 SetText 与列表一起使用,因此您的代码无法编译。
      • 如果输入的列表已经用逗号分隔,我还需要拆分文本吗? var result = wordswordsToSearch.“words”应该在哪里出现两次?
      猜你喜欢
      • 2017-09-17
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多