说我得到了以下问题我如何读取输入两个不同的答案
Console.WriteLine(“哪支球队都面临着海誓山盟 - 使用红蓝大对抗格式?”);
然后我对上述问题的回答将有两个小组。但是,如何将它们读作两个独立的? 因此,我只读[红色] [蓝色],但其中的“vs”部分应该在那里。
我希望你能理解我想说的话。我的英语不是很好。
最好的问候,
ps的,你能告诉我在编程很新。
编辑:噢,这是所有在C#
说我得到了以下问题我如何读取输入两个不同的答案
Console.WriteLine(“哪支球队都面临着海誓山盟 - 使用红蓝大对抗格式?”);
然后我对上述问题的回答将有两个小组。但是,如何将它们读作两个独立的? 因此,我只读[红色] [蓝色],但其中的“vs”部分应该在那里。
我希望你能理解我想说的话。我的英语不是很好。
最好的问候,
ps的,你能告诉我在编程很新。
编辑:噢,这是所有在C#
您可以尝试使用正则表达式:
Match m = Regex.Match("^(?<team1>\.+) vs (?<team2>\.+)$", userInput);
if (m.Success)
{
string team1 = m.Groups["team1"].Value;
string team2 = m.Groups["team2"].Value;
}
请注意,这可能不是100%语法正确的 - 你必须参考的IntelliSense一个位 - 例如,我不确定图案是Match
中的第一个还是第二个参数,但我确定您已获得图片。
一个小问题 - 那个(?
对不起,我没有看到你是C#的新手:-)这个'(?
正则表达式意味着什么:“找到文本'vs'前后的所有内容,并命名第一部分'team1'和第二部分'team2',以便稍后可以按名称获取匹配值”。 – 2011-06-14 11:55:57
有许多选项,您可以使用分割功能,使之阵,并删除“与” 或简单的使用与string.replace(“VS”,“”)函数用空值替换“vs”字符串。
您可以使用String.Split()
:
var answers = userInput.Split(new String[] { "vs" }, StringSplitOptions.RemoveEmptyEntries);
if (answers.Length == 2) {
var red = answers[0];
var blue = answers[1];
}
希望它始终vs而不是VS – V4Vendetta 2011-06-14 12:02:55
随着上面的代码,var red =“哪些球队面临海誓山盟? - 使用”和var blue =“蓝色格式” – 2011-06-14 12:03:35
我认为你解释文本“使用红色vs蓝色格式“作为用户答案的格式。对我而言,这是教学 - 即在提供答案时请使用格式“红色vs蓝色”。用户可能输入的内容:RedTeam1 vs BlueTeam5。 – Yuck 2011-06-14 12:17:33
U可以读取所有作为一个字符串,然后用拆“与”分隔符,然后ULL得到2个字符串u需要
使用String.Split功能,如其他人所说的表。这将把你的字符串分割成一个字符串数组。然后,确定数组中的哪个字符串是'vs'字符串。在'vs'之前和'vs'之后取指数的值。例如:
string input = "Which teams have faced eachother? - use Red vs Blue format";
string[] inputArray = input.Split(' ');
int vsLocation = 0;
for (int i = 0; i < inputArray.Length; i++) {
if (inputArray[i] == "vs") {
vsLocation = i;
break;
}
}
if (vsLocation > 0) {
string team1 = inputArray[vsLocation - 1];
string team2 = inputArray[vsLocation + 1];
}
请问你总是需要刚过“VS”前“VS”的价值和? – 2011-06-14 11:31:50
哦,我需要两个。然后分成两个字符串。 – deltu 2011-06-14 11:38:10