在c#中拆分一个长字符串

时间:2016-01-19 00:53:41

标签: c# string

我有这个字符串,我需要分多种方式。

Pending order
Sell EUR/USD
Price 1.0899
Take profit  at 1.0872
Stop loss at 1.0922
From 23:39 18-01-2016 GMT Till 03:39 19-01-2016 GMT

这是我需要将其拆分为

的完整字符串
string SellorBuy = "Sell";
string Price = "1.0889";
string Profit = "1.0872";
string StopLoss = "1.0922";

数字每次都不同但我仍然需要将它们分成自己的字符串。我不知道该怎么做。任何帮助将不胜感激!

我尝试了什么

string message = messager.TextBody;
message.Replace(Environment.NewLine, "|");
string[] Spliter;
char delimiter = '|';
Spliter = message.Split(delimiter);

似乎没有添加“|”它。

1 个答案:

答案 0 :(得分:1)

在换行符上拆分字符串,然后根据该行的第一个单词处理每一行。有关在此处拆分换行符的更多信息... https://stackoverflow.com/a/1547483/4322803

// Split the string on newlines
string[] lines = theText.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

// Process each line
foreach(var line in lines){
  var words = line.Split(' ');
  var firstWord = parts[0];

  switch (firstWord){
    case "Price":
      Price = words[1];
      break;
    case "Take":
      Profit = words[words.Length - 1];
      break;
    // etc
  }
}

上面的代码真的只是为了让你入门。您应该创建一个名为PendingOrder的类,其中PriceProfit等具有强类型属性(例如,对于数字而不是字符串使用floatdecimal)并通过构造函数传递原始文本以填充属性。