ДК
Денис Калистратов

C# работа со строками

Привет! Такое задание, есть строка в формате 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]=(?\d+)");
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=(?\d+)[^yz=\d+]*y=(?\d+)[^z=\d+]*z=(?\d+)[^xyz=\d+]*");
List xList = new List();
List yList = new List();
List zList = new 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();
}
}
}

Похожие вопросы
C++ преобразовать из строки в число
Проблема с строками в C++
помогите с C# работа со строками??
помогите с выводом строки C++
Задание по строкам C++. Есть предположения?
C# разделить строку на слова
C++. Переворот строк в матрице.
c++ работа со строками массива
Работа со строкой в c++
c# надо объяснить строки