C#怎么读取字符串中特定部分

“DataSource=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=128.64.151.18)(PORT=1521))(CONN... “Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=128.64.151.18)(PORT=1521)) (CONNECT_DATA=(SID=orcl)));User Id=gps_data;Password=gps_data;"
上面是我的字符串,想要读取host后面的ip地址这个128.64.151.18,还有port后面的1521,还有User Id后面的gps_data和Password后面的gps_data,请问要怎么实现啊~
注:没学过正则表达式,如果是正则表达式的答案麻烦请写上注释,谢谢啦~~
展开
 我来答
qin奋斗史
2015-06-01 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:73
采纳率:100%
帮助的人:52.7万
展开全部
不需要用正则表达式
String sqlCon="Data Source=......";
String[] strs=sqlCon.Split(';');
//截取并获取User Id
String userId=strs[1].SubString(strs[1].IndexOf("="),strs[1].Length-strs[1].IndexOf("=")-1);
//截取并获取Password
String pwd=strs[2].SubString(strs[2].IndexOf("="),strs[1].Length-strs[2].IndexOf("=")-1);
String[] strs1=strs[0].

//开始的下标
int start=strs[0].IndexOf("HOST=")+("HOST=").Length;
//结束下标
int end=strs[0].IndexOf(")(PORT");
//截取的长度
int length=end-start;
string ip=strs[0].SubString(start,length);
这样应该就可以获得你想要。
lhyAiralhy
2015-06-01 · TA获得超过469个赞
知道小有建树答主
回答量:327
采纳率:0%
帮助的人:263万
展开全部

楼上的方法挺好,不过这种比较固定的连接串可以直接通过找字符的方式实现,非常易懂.

            int ip;
            int port;
            int UserId;
            int Password;
            int connectdata;
            string str = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=128.64.151.18)(PORT=1521)) (CONNECT_DATA=(SID=orcl)));User Id=gps_data;Password=gps_data;";
            ip = str.IndexOf("HOST=");
            port = str.IndexOf(")(PORT=");
            connectdata = str.IndexOf(")) (CONNECT_DATA");
            UserId = str.IndexOf("User Id=");
            Password = str.IndexOf(";Password=");

            textBox1.Text = str.Substring(ip + 5, port-(ip+5));
            textBox2.Text = str.Substring(port + 7, connectdata - (port + 7));
            textBox3.Text = str.Substring(UserId + 8, Password - (UserId + 8));
            textBox4.Text = str.Substring(Password + 10, str.Length - (Password + 11));
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xpy0928
2015-06-01 · TA获得超过582个赞
知道小有建树答主
回答量:461
采纳率:50%
帮助的人:334万
展开全部
你直接把ip和端口存起来不就行了 还用正则表达式吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式