C# работа со строками
Привет! Такое задание, есть строка в формате x=123,y=123,z=123 где 123=любое число. Необходимо обработать эту строку и занести только числа в соответствующие переменные целого типа
Привет! Такое задание, есть строка в формате x=123,y=123,z=123 где 123=любое число. Необходимо обработать эту строку и занести только числа в соответствующие переменные целого типа
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace ConsoleApplication39
{
class Program
{
static void Main()
{
//вариант 1 - больше подходит для одной строки
string s = "x=123,y=123,z=123\nghkghgkx=321y=321gyokhfkfkz=321\nkgkgkgwkkgsgwkx=111,y=222,z=333dfhdfh";
//s = "x=123,y=123,z=123,x=123,y=123,z=123";
MatchCollection matches = Regex.Matches(s, @"[xyz]=(?
int x = Convert.ToInt32(matches[0].Groups["numbers"].Value);
int y = Convert.ToInt32(matches[1].Groups["numbers"].Value);
int z = Convert.ToInt32(matches[2].Groups["numbers"].Value);
int xx = Convert.ToInt32(matches[3].Groups["numbers"].Value);
int yy = Convert.ToInt32(matches[4].Groups["numbers"].Value);
int zz = Convert.ToInt32(matches[5].Groups["numbers"].Value);
Console.WriteLine("x={0},y={1},z={2}",x,y,z);
Console.WriteLine("Summ={0}",x+y+z);
Console.WriteLine("Summ={0}",xx+yy+zz);
s = "x=123y=123z=123x=321y=321z=321x=111y=222z=333";
//s = "x=123,y=123,z=123\nx=321,y=321,z=321\nx=111y=222z=333";
//вариант 2 - для текстового файла с координатами
MatchCollection matches2 = Regex.Matches(s, @"x=(?
List
List
List
foreach (Match item in matches2)
{
Console.WriteLine("{0} {1} {2}", item.Groups["x"],item.Groups["y"],item.Groups["z"]);
xList.Add(Convert.ToInt32(item.Groups["x"].Value));
yList.Add(Convert.ToInt32(item.Groups["y"].Value));
zList.Add(Convert.ToInt32(item.Groups["z"].Value));
}
for (int j = 0; j < xList.Count; j++)
{
Console.WriteLine("Summ of first set of coords = {0}", xList[j]+yList[j]+zList[j]);
}
Console.ReadKey();
}
}
}