如何从一串字符串中提取数字
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+","");
[解决办法]
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
具体知识上面有提的,正则表达式