如何从字符串中获取特定文本

时间:2015-01-15 16:52:26

标签: c#

我有一个字符串"(zoneId==176)&&((startTime==100)&&(endTime==1200))",我希望在C#中获取startTime和endTime的值。如何做到这一点我是c#编程的新手,为什么我需要一些线索

1 个答案:

答案 0 :(得分:0)

这看起来不像String而是一块代码。假设这是输入到代码中的值,您可以执行以下操作:

var input = "(zoneId==176)&&((startTime==100)&&(endTime==1200))";
var time = input.Split(')');
var start = time.FirstOrDefault(s => s.Contains("startTime")).Split('=')[2];
var end = time.FirstOrDefault(e => e.Contains("endTime")).Split('=')[2];

您的输出如下:1001200

上述实施方案有效,但出于各种原因不应用于生产目的。你需要关注:

  • 子串
  • 分割
  • 删除
  • 正则表达式

这些对于学习如何解析数据和/或任何其他形式的字符串操作都是必不可少的。希望这能指出你正确的方向。

另一种方法是:

var input = "(zoneId==176)&&((startTime==100)&&(endTime==1200))";
var section = input.Split('=');
foreach(var region in section)
{
     var zone = region.Substring(0, region.Length);
     var number = zone.Where(d => char.IsDigit(d)).ToArray();
}