OP wrote:
String input:
DT 07-12-17 H 13 Min 23 S 34
M- -2.00 M 0.00 M+ 7.00 OK
**CS351**
W- 950 W 1000.36 W+ 1200
Expected output. These strings/int I need to extract from the above given string data
-2 0 7 ok
950 1000.36 1200
using System;
namespace CP
{
class Program
{
static void Main(string[] args)
{
string input = "DT 07-12-17 H 13 Min 23 S 34 \n" +
" M- -2.00 M 0.00 M+ 7.00 OK \n" +
"**CS351** \n" +
"W- 950 W 1000.36 W+ 1200";
string[] lines = input.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
string output = "";
foreach (string line in lines)
{
string item = line.Trim();
if (item.StartsWith("M"))
{
output += GetNumbers( item) + " ";
if (item.EndsWith("OK"))
output += "ok";
output += Environment.NewLine;
}
if (item.StartsWith("W"))
{
output += GetNumbers( item) + " ";
output += Environment.NewLine;
}
}
Console.WriteLine(output );
}
private static string GetNumbers( string item)
{
var parts = item.Split(' ');
string output = "";
foreach (string num in parts)
{
double d;
if (double.TryParse(num.Trim(), out d))
{
output += d + " " ;
}
}
return output;
}
}
}