如果输入了特定的密钥,设置端口号(整数值)?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之后。这可能吗?
应该这样做:
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