搜索单个字符,例如' @'或者'%'在Word文档中使用C#

时间:2016-06-22 14:16:48

标签: c# regex

我需要帮助才能更快地搜索任何字符,例如' @'或者'&'或' *'在一个包含大约4-5000行的大型Word文档中。

目前我正在通过For-Loop搜索每个字符,这需要很长时间来搜索字符。

$('li.submenu').on('click','a[href="#"]',function(e){
    e.preventDefault();
    $("ul.ul_submenu").toggle();
})

1 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式([@&\*])检查字符串中是否存在其中一个树形图(@&*):

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        String test = "this is a @test & when ist asd*sd";

        if (Regex.Match(test, "([@&\\*])").Success) 
        {
            Console.WriteLine("%, & or * found!");
        }
        else
        {
            Console.WriteLine("Not found!");
        }
    }
}

问:我需要知道光标位置以及文档中的字符。通过使用正则表达式我怎么知道?

是的,它由Regex类支持。每个Index都有一个名为Match的属性:

using System;
using System.Text.RegularExpressions;


public class Program
{
    public static void Main()
    {
        String test = "this is a @test & when ist asd*sd";

        Match match = Regex.Match(test, "([@&\\*])");

        int i = 0;
        while (match.Success)
        {
            Console.WriteLine("Index of Match No."+ i.ToString()
                              + " (char "+ match.Value +"): "
                              + match.Index.ToString());
            match = match.NextMatch();
            i++;
        }
    }
}

输出将是:

  

第0场比赛指数(char @):10
  第1场比赛指数(char&):16
  第2场比赛指数(char *):30