日期:2014-05-18  浏览次数:20969 次

关于提取中文正规表达式
请问在C#中如何使用正规表达式提取以下指定的中文?

"锁定啊哦饿拉啦几哈达噶大否"

我要提取的是:单一个几字....
请问代码怎么写...正规表达式怎么写?

------解决方案--------------------
顶楼上的……不是字符串就用正则

不过还是写了个正则的……
C# code

static void Main(string[] args)
{
    string findStr = "几";
    string str = @"通几几几行证通行证密码获取其他页面数据: 
    很简单,这是得到列车时刻几的一段代 
    码,应为几这是得几几几到列车时刻表的一段代码, 
    应为几刚好可以几列车时刻表的一段代码,应为刚好 
    可以这是得到几列车时刻几几几几几表的一段代码,应为刚好可以 ";
    find(findStr, str);

    Console.Read();
}

/// <summary>
/// 查找想要的字符串
/// </summary>
/// <param name="findStr">可以是一个或几个字,没作特别处理,别用“.\”之类的</param>
/// <param name="source">源字符串</param>
public static void find(string findStr,string source)
{
    Regex reg = new Regex("([" + findStr + "]+)");//如果只需要找一次,就把+去掉
    MatchCollection mc = reg.Matches(source);
    foreach (Match m in mc)
    {
        Group g = m.Groups[1];
        Console.WriteLine(string.Format("得到的字符串:{0}  位置:{1}   长度:{2}", g.Value, g.Index, g.Length));
    }
}

------解决方案--------------------
既然不想要的是固定的,那就直接Replace掉就是了


C# code
string test = "一般投诉一般2008071000070201 目录→业务查询→业务";
string result = test.Replace("一般投诉一般", "");
result = result.Replace(" 目录→业务查询→业务", "");
textBox1.Text = result;

------解决方案--------------------
...别光谢
结帖!!!