如果输入了特定的密钥,设置端口号(整数值)?c#

本文关键字:整数 口号 设置 输入 密钥 如果 | 更新日期: 2023-09-27 18:03:18

我试图能够存储一个整数,如果在文本中找到某个键。

键可以在字符串中的任何位置,例如:

-p 40 Bond "James bond"

bond "james bond" -p 40

bond -p 40 "james bond"

所以int port = 40

这是我的尝试,但它是相当坏的端口返回为0。

if (mystring.Contains("-p"))
    {
        string sport = "";
        string[] splits = mystring.Split(' ');
        for (int i = 0; i < splits.Length; i++)
        {
            if (splits[i].Contains(" "))
                sport = splits[i].Trim();
        }
        int.TryParse(sport, out port);
        Console.WriteLine(port);
        return;
    }

端口号紧接在-p之后。这可能吗?

如果输入了特定的密钥,设置端口号(整数值)?c#

应该这样做:

string[] splits = mystring.Split(' ');
for (int i = 0; i < splits.Length; i++)
{
    if (splits[i] == "-p")
    {
        sport = int.Parse(splits[i+1]);
    }
}

一旦您检测到-p,您想解析下一个条目作为您的端口值

您可以使用正则表达式,如

        string pattern = @"-p ('d+)";
        string input = "sdf -p 400 sdfa";
        var matched = Regex.Match(input, pattern);
        var port = matched.Groups[1].Value;

port指定400