正则表达式,不剔除正负号。

usun82 2009-08-23 05:26:57
我在asp.net中用str = Regex.Replace(str, @"[^\d.\d]", "");把字符串中的数字剔除出来,但是正负号也没有了,就是‘50’和‘-50’过滤后都是‘50’,多谢赐教!!!
...全文
316 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2009-08-24
  • 打赏
  • 举报
回复
try...

string str = "距离合同结束还有-20天";
Regex reg = new Regex(@"[+-]?\d+(\.\d+)?");
MatchCollection mc = reg.Matches(str);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
usun82 2009-08-24
  • 打赏
  • 举报
回复
我想把 string str = "距离合同结束还有-20天"这个字符串中的‘-20’取出来,怎么写?
HimeTale 2009-08-23
  • 打赏
  • 举报
回复
-?\d+
jiangshun 2009-08-23
  • 打赏
  • 举报
回复
准备欣赏过客的代码啊!
-过客- 2009-08-23
  • 打赏
  • 举报
回复
没看明白楼主想干什么
正则这样写本身就是错的,错误的理解了字符组的用法
另外为什么用Replace,只有一个数字?否则取出的是类似于123.45-987.6+321有什意义

给几个例子,给出对应的结果看看
jiangshun 2009-08-23
  • 打赏
  • 举报
回复
-->>结果
asdfasdfasd--safd-
jiangshun 2009-08-23
  • 打赏
  • 举报
回复
  string str = "asdfasdfasd-5-safd-6";
str =Regex.Replace(str, @"[\d.\d]", "");

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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