C#从字符串中提取整数并进行比较
比如说,我有一系列的比赛结果,每个队都有一个字母。我想把重点放在A队,并将其得分与其他球队进行比较,以打印出A队赢、输、平等几场比赛。。。。下面显示的示例字符串C#从字符串中提取整数并进行比较,c#,compare,C#,Compare,比如说,我有一系列的比赛结果,每个队都有一个字母。我想把重点放在A队,并将其得分与其他球队进行比较,以打印出A队赢、输、平等几场比赛。。。。下面显示的示例字符串 string results = " A 1 B 0, A 2 C 4, A 1 D 8, A 5 E 9"; 我认为最好的方法是提取团队A的所有分数,并用它们填充一个数组,然后对剩余的分数执行相同的操作。我曾试图解决这个问题,但一直被难倒。有什么想法吗 编辑:由于未发布尝试: char[] tobeconverted = resul
string results = " A 1 B 0, A 2 C 4, A 1 D 8, A 5 E 9";
我认为最好的方法是提取团队A的所有分数,并用它们填充一个数组,然后对剩余的分数执行相同的操作。我曾试图解决这个问题,但一直被难倒。有什么想法吗
编辑:由于未发布尝试:
char[] tobeconverted = results.Where(Char.IsDigit).ToArray();
int[] sequence = new int[10];
for (int i = 0; i < tobeconverted.Length; i++)
{
sequence[i] = Convert.ToInt32(tobeconverted[i].ToString());
}
然后,我计划使用带有子字符串的索引来提取数字并转换为int,但这只适用于第一次和第二次出现,我不知道如何获取其他数字值。string results=“a1b0,a2c4,a1d8,a5e9”;
string results = "A 1 B 0, A 2 C 4, A 1 D 8, A 5 E 9";
List<int> teamAScores = new List<int>();
List<int> otherTeamScores = new List<int>();
foreach(string scoreSet in results.Split(','))
{
scoreSet.Replace(" ", "");
int teamA = -1;
int teamX = -1;
int.TryParse(scoreSet.Substring(1, 1), out teamA);
int.TryParse(scoreSet.Substring(3, 1), out teamX);
if (teamA > -1 && teamX > -1)
{
teamAScores.Add(teamA);
otherTeamScores.Add(teamX);
}
}
List teamAScores=新列表();
列出其他团队分数=新建列表();
foreach(results.Split(',')中的字符串分数集)
{
分数集。替换(“,”);
int teamA=-1;
int teamX=-1;
int.TRIPARSE(得分集、子串(1,1),外组队);
int.TRIPARSE(得分集、子串(3,1),外组队X);
如果(teamA>-1和&teamX>-1)
{
teamAScores.Add(teamA);
其他团队分数。添加(团队X);
}
}
现在您有了一个列表,其中每场比赛的得分在索引方面匹配
class Program
{
static void Main(string[] args)
{
string results = " A 1 B 0, A 2 C 4, A 1 D 8, A 5 E 9";
string[] matches = results.Trim().Split(',');
List<Match> sportResults = new List<Match>();
foreach (string match in matches)
{
string[] parts = match.Trim().Split(null);
sportResults.Add(new Match() {
Team1 = parts[0], Score1 = int.Parse(parts[1]),
Team2 = parts[2], Score2 = int.Parse(parts[3])});
}
sportResults.ForEach(a => Console.WriteLine(a));
}
}
当你要求社区解决一个你无法解决的问题时,最好是发布你的尝试,这样我们就可以看到这不是一个给我一个codez的问题,发布您的尝试会阻止我们建议您已经尝试过并被视为不可行的内容。8条数据是如何粘在一个字符串中的?@puropoix——我猜可能会保存到文本文件中,打印在纸上,扫描回来,然后进行OCRD。现在您有两个问题。谢谢,感谢您不要担心-保重!
class Program
{
static void Main(string[] args)
{
string results = " A 1 B 0, A 2 C 4, A 1 D 8, A 5 E 9";
string[] matches = results.Trim().Split(',');
List<Match> sportResults = new List<Match>();
foreach (string match in matches)
{
string[] parts = match.Trim().Split(null);
sportResults.Add(new Match() {
Team1 = parts[0], Score1 = int.Parse(parts[1]),
Team2 = parts[2], Score2 = int.Parse(parts[3])});
}
sportResults.ForEach(a => Console.WriteLine(a));
}
}
class Match
{
public string Team1 { get; set; }
public string Team2 { get; set; }
public int Score1 { get; set; }
public int Score2 { get; set; }
public override string ToString()
{
return "Team " + Team1 + " " + Score1 + " VS " + Team2 + " " + Score2;
}
}