C#中怎么判断一个字符串中含有:字母加数字加字母,并将最后的字母全都...

发布网友 发布时间:2024-10-24 03:31

我来回答

3个回答

热心网友 时间:2024-10-30 08:36

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.自定义需要进入判断的数组
            string[] strArr = { "qwe123rty", "qwe", "a13", "a1b", "123abc456", "a123e123" };

            //2.循环加载数组内容,判断并打印到控制台
            for (int i = 0; i < strArr.Length; i++)
            {
                //初始化一个正则表达式对象
                //注:^匹配输入的开始位置  $匹配输入的结尾位置
                //    [0-9]匹配任意数字    [a-zA-Z]匹配任意字母
                //    ()内是提取的信息     +限定的表达式至少出现1次
                MatchCollection matchCol = Regex.Matches(strArr[i], "^([a-zA-Z]+[0-9]+)[a-zA-Z]+$");
                //匹配到结果则输出匹配内容 否则输出无匹配内容
                if (matchCol.Count > 0 && matchCol[0].Success && matchCol[0].Groups.Count > 1)
                {
                    Console.WriteLine("{0} --> {1}", strArr[i], matchCol[0].Groups[1].Value);
                }
                else
                {
                    Console.WriteLine("{0} --> 无匹配", strArr[i]);
                }
            }
            Console.ReadKey();
        }
    }
}

写了注释你看下,如果看不懂,留言,我给你补一份截字符串的方法。

热心网友 时间:2024-10-30 08:30

正则
^[a-z]*[0-9]*

热心网友 时间:2024-10-30 08:36

string str = "abc123fgh";
string regstr = @"(^[a-z]+\d+).*";
if(Regex.IsMatch(str,regstr,RegexOptions.IgnoreCase))
    str = Regex.Replace(str, regstr, "$1");
Console.WriteLine(str);
Console.ReadKey();

//判断是否以字母开头是一样的
if(Regex.IsMatch(str,"^[a-z]",RegexOptions.IgnoreCase))
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com