在 c# 中拆分长字符串

本文关键字:字符串 拆分 | 更新日期: 2023-09-27 18:30:58

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

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);

它似乎没有添加"|"。

在 c# 中拆分长字符串

换行符上拆分字符串,然后根据该行的第一个单词处理每一行。 有关在换行符上拆分的更多信息,请单击此处...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),并通过构造函数传入原始文本以填充属性。