用c#处理下面字符串,将字符串中的ip地址对应mac录入到dataset中 字符串如下:

兄弟姐妹哪位知道,用c#处理下面字符串,将字符串中的ip地址对应mac录入到dataset中 字符串如下:?

用c#处理下面字符串,将字符串中的ip地址对应mac录入到dataset中 字符串如下:

Interface: 192.168.4.11 --- 0x10003 Internet Address Physical Address Type 192.168.1.1 00-22-aa-8d-9a-05 dynamic 192.168.3.22 00-25-11-60-86-55 dynamic 192.168.3.44 00-20-ed-aa-50-79 dynamic 192.168.3.57 00-10-5c-f6-5e-56 dynamic 192.168.3.111 00-25-11-8c-6e-2a dynamic 192.168.3.167 00-21-97-38-87-9b dynamic 192.168.3.189 00-0c-76-89-3d-9f dynamic 192.168.3.197 00-13-d3-02-7d-6c dynamic
最新回答
北蒙岛的雨季

2024-05-16 01:18:23

家里电脑没有vs,不过写的基本可行,先用正则表达式匹配字符串,获取所有符合要求的信息.然后进行数据操作
正则表达式分三部分,ip mac dynamic
先匹配所有符号要求的组合,然后在遍历集合的过程中再匹配ip 和 mac,添加到datatable中
都是手敲的,难免有错误,不过方法没大问题.

string strtmp = "Interface: 192.168.4.11 --- 0x10003 Internet Address Physical Address Type 192.168.1.1 00-22-aa-8d-9a-05 dynamic 192.168.3.22 00-25-11-60-86-55 dynamic";

string stripreg= "((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) ";
string strmacreg = " ([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5}) ";
Regx reg = new Regx(stripreg + strmacreg + "dynamic");

MatchCollection matches = reg.Matches(strtmp );

DataSet ds = new DataSet();
DataTable dt = new DataTable();

Regx ipreg = new Regx(stripreg.Trim());
Regx ipreg = new Regx(strmacreg.Trim());

for (int ctr = 0; ctr < matches.Count; ctr++)
{
DataRow dr = new DataRow();
dr[0] = ipreg.Matchs(matches[ctr].Value)[0].Value;
dr[0] = macreg.Matchs(matches[ctr].Value)[0].Value;
dt.Rows.Add(dr);
}

ds.Add(dt);
风花雪月夜

2024-05-16 16:05:21

的DataReader.
对于DataSet和DataTable,JAVA还没有类似的类

csdn中有讨论这个问题,楼主可以看一看.长见识了~
追问
大哥你这个回答我简直是太满意了!!!~
寒岛春信

2024-05-16 13:43:34

以空格符分隔获取到数组,然后拆出保存到数据即可。