c# - 如何创建带有主题标签的趋势列表和带有推特 ID(如@xyz)的提及列表

标签 c# .net regex wpf

我正在努力同时创建一个带有主题标签的趋势列表和带有 Twitter ID 的提及列表。我有一个文本框、一个按钮和两个 ListView 。一旦我在文本框中输入带有一些文本的#abc 并按下按钮,#abc 就会移动到 ListView 以显示主题标签正在创建趋势列表,但我无法为 Twitter ID 执行此操作。如果主题标签和推特 ID 同时在文本框中工作,这将是理想的。例如,如果我写 Hiya please see #helloworld and how about @xyz 并按下按钮,两者都会移动到各自的 ListView 。以下是主题标签的代码。有人可以帮助我如何为 Twitter ID 做这件事吗?非常感谢。

 private void buttonTwitter_Click(object sender, RoutedEventArgs e)
    {

        var regex = new Regex(@"(?<=#)\w+");
        var matches = regex.Matches(tweetMsgsTextBox.Text);

        foreach (Match m in matches)
        {
            MessageBox.Show("Hurray!! Hash Tag is on Trending!");

            listhtag.Items.Add ("#" + m.Value);
        }

最佳答案

将您的点击处理程序更改为此更新的正则表达式模式

Regex.Matches("Hiya please see #helloworld and how about @xyz", @"([#@]\w+)")
     .OfType<Match>()
     .Select (mt => mt.Groups[0].Value )
     .ToList()
     .ForEach( itm => listhtag.Items.Add(itm)); 

模式 ([#@]\w+) 将捕获“#”或“@”,然后是后面的单词作为单独的匹配项。然后从匹配组捕获的每个匹配中提取并将其放入列表中。


如果您有不同的列表,请检查第一个字符并将其添加到您的 foreach 操作中的适当列表中。

关于c# - 如何创建带有主题标签的趋势列表和带有推特 ID(如@xyz)的提及列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47424322/

相关文章:

python - 用空格环绕表情符号

c# - 使用 JSON 反序列化方法时 VS 2013 崩溃

c# - System.Web.Services.Protocols.SoapHttpClientProtocol 使用什么版本的 SSL/TLS?

c# - 删除匿名事件处理程序

c# - 如何使用项目按钮单击将 ListView 值传递到另一个页面?

c# - 控制台应用程序打印 "Fail:"

regex - 捕获 n 个字母的单词不计算撇号正则表达式

java - 悬挂元字符

c# - 在 MVVM 中使用 ScrollViewer 滚动到控件的顶部

c# - 以逗号分隔数以千计 asp.net