C#中怎么判断一个字符串中含有:字母加数字加字母,并将最后的字母全都替换掉。
如:abc123fgh、er12uiwooe变成;abc123、er12另外如何判断第一个字符是字母开头的?...
如:abc123fgh、er12uiwooe变成;abc123、er12
另外如何判断第一个字符是字母开头的? 展开
另外如何判断第一个字符是字母开头的? 展开
展开全部
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();
}
}
}
写了注释你看下,如果看不懂,留言,我给你补一份截字符串的方法。
展开全部
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))
更多追问追答
追问
$1是什么意思
追答
正则第一个捕获组
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正则
^[a-z]*[0-9]*
^[a-z]*[0-9]*
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询