专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C#

怎么从一串字符串中提取数字

发布时间:2011-06-21 11:33:03 文章来源:www.iduyao.cn 采编人员:星星草
如何从一串字符串中提取数字
string s = "d$a#31#d$fc$r%22%f$e$r$43@e$65%g$g&d$z";

------解决方案--------------------
你是要怎么个提法?是仅仅把有的数字提出来不关注顺序?
如果这样的话,那下面的应该就能实现:
for(int i=0;i<10;i++)
{
int flag=s.indexOf(i);
if(flag!=-1)
Console.WriteLine(i);
else continue;
}
------解决方案--------------------
string s = "d$a#31#d$fc$r%22%f$e$r$43@e$65%g$g&d$z";
s=Regex.Replace(s,"D+","");
------解决方案--------------------
C# code

var sb=new StringBuilder();
foreach(char c in s)
{
if(c>='0'&&c<='9')
{
sb.Append(c);
}
}
return sb.ToString()

------解决方案--------------------
正则表达式!
------解决方案--------------------
string s = "d$a#31#d$fc$r%22%f$e$r$43@e$65%g$g&d$z";
string pattern = @"d+";
 
MatchCollection matches = Regex.Matches(s, pattern,RegexOptions.Multiline); // Split on hyphens
foreach (Match match in matches)
{
Console.WriteLine("'{0}'", match);
Console.ReadLine();
}


这样的结果是:31 22 43 65

如果string pattern = @"d";
则结果是3 1 2 2 4 3 6 5 

具体知识上面有提的,正则表达式
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: