如何判断一个字符串是否以字母开头并且以数字结束

ahking 2015-11-09 03:29:22
如何判断一个字符串是否以字母开头并且以数字结束
...全文
5993 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没有必要正则,影响性能。二楼的方法就可以。
一枚弹壳 2015-11-10
  • 打赏
  • 举报
回复
正则 最方便了
老李家的小二 2015-11-10
  • 打赏
  • 举报
回复
String.StartsWith 和 String.EndsWith
Poopaye 2015-11-10
  • 打赏
  • 举报
回复
引用 2 楼 lovelj2012 的回复:
1、首选正则 2、笨方法,截取第一位判断是不是字母,截取最后一位是不是数字
测试下来#1的速度是#7的18倍,而且正则难懂,为何说首选正则?
xiaoxinghappy 2015-11-10
  • 打赏
  • 举报
回复
正规表达式
reg="^[a-z,A-Z]|\d$"
ahking 2015-11-10
  • 打赏
  • 举报
回复
正则不用就忘
Poopaye 2015-11-10
  • 打赏
  • 举报
回复
引用 13 楼 crystal_lz 的回复:
#4比#1快两倍多。。。。 Char的两两个静态函数 貌似多了点判断
你说的是4-2吧,那个正则不行
crystal_lz 2015-11-10
  • 打赏
  • 举报
回复
引用 8 楼 shingoscar 的回复:
[quote=引用 2 楼 lovelj2012 的回复:]
1、首选正则
2、笨方法,截取第一位判断是不是字母,截取最后一位是不是数字

测试下来#1的速度是#7的18倍,而且正则难懂,为何说首选正则?[/quote]
#4比#1快两倍多。。。。

Char的两两个静态函数 貌似多了点判断
ahking 2015-11-10
  • 打赏
  • 举报
回复
受教
crystal_lz 2015-11-09
  • 打赏
  • 举报
回复

bool b = Regex.IsMatch(strText,@"^[a-zA-Z].*?\d$");
//==========
int nStart = (strText[0] | 0x0020);管他3 7 21 转换小写 大小写字母只有一位之差
int nEnd = strText[strText.Length - 1];
bool b = (nStart >= 'a' && nStart <= 'z') && (nEnd >= '0' && nEnd <= '(');
crystal_lz 2015-11-09
  • 打赏
  • 举报
回复
额 上面后面错了 是 '9'
angloy 2015-11-09
  • 打赏
  • 举报
回复
用正则表达式。
江南小鱼 2015-11-09
  • 打赏
  • 举报
回复
1、首选正则 2、笨方法,截取第一位判断是不是字母,截取最后一位是不是数字
  • 打赏
  • 举报
回复
string txt = @"Demo";
Console.WriteLine(Char.IsLetter(txt[0]));
Console.WriteLine(Char.IsDigit(txt[txt.Length - 1]));
这种问题也就没必要用正则了

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧