如果在文本中找到某个键,我试图能够存储一个整数。
键可以在字符串中的任何位置,例如:
-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之后立即出现。有可能这样做吗?
答案 0 :(得分:3)
这样的事情应该有效:
string[] splits = mystring.Split(' ');
for (int i = 0; i < splits.Length; i++)
{
if (splits[i] == "-p")
{
sport = int.Parse(splits[i+1]);
}
}
一旦检测到-p
,您想要将 next 条目解析为您的端口值。
答案 1 :(得分:0)
您可以使用正则表达式,例如
string pattern = @"-p (\d+)";
string input = "sdf -p 400 sdfa";
var matched = Regex.Match(input, pattern);
var port = matched.Groups[1].Value;
端口将给400