在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

c#用截取字符串:name=strOldPublicIP value=211.87.236.31>'); 我要中间的ip值:211.87.236.31

大哥们哪位知道,c#用截取字符串:name=strOldPublicIP value=211.87.236.31>'); 我要中间的ip值:211.87.236.31
最新回答
莎莎兔

2025-02-25 15:29:45

     string sb = "name=strOldPublicIP value=211.87.236.31>');";
                string sb2 = sb.Split('=')[2]; //取出了211.87.236.31>');
                string ip = sb2.Split('>')[0]; //取出了211.87.236.31
天空天然蓝

2025-02-25 02:52:14

string str=“name=strOldPublicIP value=211.87.236.31>');”;
你想要的
string ipStr=str.SubString(str.IndexOf("value=")+6).repalce(">');","");
追问
那个name=strOldPublicIP value=211.87.236.31>');,这是一个长长的result里面的一句话,不能拿来直接用的。大神能改改否?还有,那ip位数可能会变,用substring是不是截取固定位数了
追答
谁跟你说substring是截取固定位数的。

它有重载的方法的,一个参数,就是从这个参数的位置截取到最后。。
你把那个长长result发一下,我看下什么格式
追问
原文很长的,是一个网页,让我保存成string了,但是我知道,找到这部分就能拿到我需要的ip。大神还需要那个网页吗
追答

这样的话,那就换个思路。用正则表达式,把这里面的所有ip都给取出来。

我之前有做过,把页面里面所有的a标签内容都取出来。

原理是一样的

string str = "你的页面字符串";
//若页面中有多个ip
 MatchCollection ips = Regex.Matches(str, @"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}");
 foreach (Match ip in ips)
 {
      //遍历取ip.Value; 可得所有ip
 }
 
 //若页面只有一个ip
Match m = Regex.Match(str, @"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}");
if (m.Success) {
    //取ip.Value; 即你想要的ip
}
旧人旧城旧余温—

2025-02-25 10:49:53

string ip=System.Text.RegularExpressions.Regex.Match("name=strOldPublicIP value=211.87.236.31>", "\\d+.\\d+.\\d+.\\d").Value