如何从字符串中解析特定文本?

时间:2015-08-14 23:43:30

标签: c# string parsing

我有这个字符串数组:

     private String[] ipaddresses = new String[]{
    "http://192.168.1.18:8098/?cmd=nothing",
    "http://192.168.1.16:8098/?cmd=nothing"};

我想要的是最终得到以下内容:

"http://192.168.1.18:8098/?cmd="

这就是我目前正在获得这个价值的方式:

iptouse = ipaddresses[i].Substring(0, 26);

问题是如果字符串是Substring(0, 26),则transform正在工作,例如:

http://10.0.0.5:8098/?cmd=nothing

在所有情况下,如何解析“cmd =”结尾?

2 个答案:

答案 0 :(得分:2)

要获得相同的输出,我会这样做

string ipaddress = ipaddresses[i].Substring(0,ipaddresses[i].LastIndexOf("=")+1);

答案 1 :(得分:1)

我建议您查看String.Split方法。这是一个例子:

string ip = "http://192.168.1.18:8098/?cmd=nothing".Split('=')[0] + "=";
Console.WriteLine(ip); // "http://192.168.1.18:8098/?cmd="

这将拆分为“=”,返回“=”之前的所有内容,然后将“=”追加到它的末尾。

在您的情况下,它将是以下内容:

iptouse = ipaddresses[i].Split('=')[0] + "=";

这个答案假设cmd将始终是第一个查询参数,但假设您提供的格式始终如此,它将正常工作。