C# 正则表达式过滤指定的字符串

本文深入探讨了正则表达式的使用方法,包括如何匹配数字、字母、下划线及特定格式的字符串。同时,提供了两个实用的函数,用于判断输入的字符是否为中文或英文,并返回相应的字符数量。
[\w+]表示匹配数字、字母、下划线和加号本身字符
[\w]+和\w+没有区别,都是匹配数字和字母下划线的多个字符

string str = @"testtesttesttest,@test:1。testtesttest,@test:2。testtesttest,@test:23。";
Regex reg = new Regex(@"@\w+:\d{1}");   //d{x} x是数字的个数 \w+ == [\w]+

foreach (Match m in reg.Matches(str))
{
    Console.WriteLine(m.Value);
}


/// <summary>
/// 判断传入的值是中文字符
/// </summary>
/// <param name="obj">汉字字符</param>
/// <returns>count</returns>
public static int StringToCh(object obj)
{
    string ptn = "[\u4e00-\u9fa5]+";
    int count = 0;
    Regex r = new Regex(ptn, RegexOptions.ECMAScript);
    foreach (Match m in r.Matches(ObjToString(obj)))
    {
        count++;
    }
    return count;
}
/// <summary>
/// 判断传入的值是英文字符
/// </summary>
/// <param name="obj">英文字符</param>
/// <returns>count</returns>
public static int StringToEn(object obj)
{
    string ptn = "[a-zA-Z\\s]+";
    int count = 0;
    Regex r = new Regex(ptn, RegexOptions.ECMAScript);
    foreach (Match m in r.Matches(ObjToString(obj)))
    {
        count++;
    }
    return count;
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值