请教正则表达式 删除不以“&#”开头的数字。

114 2011-06-21 10:10:04
abcd123 <-这里的123要删除
ab{ <-这里的123不删除
...全文
223 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 114 的回复:]

to wuyazhe:不可以吧?
[/Quote]

不可以?
114 2011-06-21
  • 打赏
  • 举报
回复
to wuyazhe:不可以吧?
兔子-顾问 2011-06-21
  • 打赏
  • 举报
回复
你的正则修改成

(?<!&#\d*)(\d+)\b

也可以
兔子-顾问 2011-06-21
  • 打赏
  • 举报
回复
不用正则
if("ab{".StartWith("&#"))
{
....
}
114 2011-06-21
  • 打赏
  • 举报
回复
ding
114 2011-06-21
  • 打赏
  • 举报
回复
谢谢两位,但是我觉得你们的方法是不是有些复杂呢?
我用正则表达式“(?<!&#)(\d+)\b”
问题如下:
"abcd123" 没有问题,结果是abc
"ab{" 出现问题,结果是ab 想要的结果是ab{
sunny906 2011-06-21
  • 打赏
  • 举报
回复

string s = "abcd123";
string result = "";
Match ma = Regex.Match(s, @"(&#\d+)");
if (ma.Groups.Count == 1)
{
result = Regex.Replace(s, @"\d+", "");
}
MessageBox.Show(result);
huangwenquan123 2011-06-21
  • 打赏
  • 举报
回复

string str = "abcd123";
string str1 = "ab{";
string result = Regex.Replace(str, @"(&#)?\d+", delegate(Match m) { if (string.IsNullOrEmpty(m.Groups[1].Value))return ""; else return m.Value; });
string result1 = Regex.Replace(str1, @"(&#)?\d+", delegate(Match m) { if (string.IsNullOrEmpty(m.Groups[1].Value))return ""; else return m.Value; });
Response.Write(result + "<br/>");
Response.Write(result1 + "<br/>");
/*
abcd
ab{
*/
114 2011-06-21
  • 打赏
  • 举报
回复
顶一下!

110,538

社区成员

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

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

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