string s = "d$a#31#d$fc$r%22%f$e$r$43@e$65%g$g&d$z";
解决方案 »
- 请教一个生成树的算法,即根据当前数据列表的特性生成树结构。
- mysql 流水号并发问题如何解决
- c#操作office
- 如何WEB中实现百度谷歌地图那种通过鼠标滚轮实现缩放
- dataGrid的问题 请高手帮忙
- ( winform )点datagrid里面一行,弹出窗口提示下载,下载后,本行数据进入状态N(不能再下了),现在怎么刷新datagrid?
- 如何在任务栏嵌入一个文本框?
- C#生成的PDF怎么去掉段首自动生成的序号
- 关于属性的问题和事件的问题
- 有关事件调用的问题。
- 关于数据库连接类的一个写法纠正,求高手~
- 对C#窗体的的MouseLeave()事件写的程序,怎样能让光标指向窗体某一控件时不会触发这个事件
如果这样的话,那下面的应该就能实现:
for(int i=0;i<10;i++)
{
int flag=s.indexOf(i);
if(flag!=-1)
Console.WriteLine(i);
else continue;
}
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 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 具体知识上面有提的,正则表达式
using System.Text.RegularExpressions;这个命名空间
找的是字符串中符合条件的index
可以用ElementAt(i)
如果能转换成int则输出。不能则是-1不处理