C#实现读取字符串特定位置数据
这里将给大家介绍怎么实现C#采用正则表达方式读取某段字符串中指定位置后面的数据内容,某种程度上可替代数据库的功能。
private void button1_Click(object sender, EventArgs e)
{
string _buff = "a=55 b=3 c=4"; ; //这里模拟读入了文件的内容,_buff 要替换成 你从文本里面读取的字符串(实现从TXT文件中读取实现)
Regex _reg = new Regex(@"[a-zA-Z_]\w*\s*=\s*(\d+(?!\.|x|e|d|m)u?)|^0x([\da-f]+(?!\.|x|m)u?)"); //定义正则表达式
MatchCollection mc = _reg.Matches(_buff); //匹配所有结果
Dictionary<string, int> _mydic = new Dictionary<string, int>(); //存放结果的dic
foreach (Match nObj in mc) //遍历所有结果
{
string _obj = nObj.Value;
_obj = _obj.Replace(" ", "");
_mydic.Add(_obj.Split('=')[0], Convert.ToInt32(_obj.Split('=')[1]));
}
//int str = _mydic["aa"];//int型str的值为字符串aa后面的值
int a = _mydic["b"]; //int型a的值为字符串b后面的值
string str = a.ToString();
textBox1.Text = str;
}
具体实现效果如下:
源代码可在本人博客资源下下载。