正在检索字符串的一部分

本文关键字:一部分 字符串 检索 | 更新日期: 2023-09-27 17:59:19

我正在使用Html Agility Pack解析一个html页面。我成功地获得了字符串中的以下文本:

WOCN11 CWTO 170951特殊天气声明加拿大环境部更新美国东部时间2011年6月17日星期五上午5:51。为..发布的特殊天气声明。。Sarnia-Lambton伦敦-米德尔塞克斯牛津-布兰特滑铁卢-惠灵顿。---------------------------------------------------------------------据报道,年出现能见度接近零的浓雾上述区域。旅游者应格外小心区域。预计今天早晨日出后不久雾就会消散。结束/opcACCN10 CWTO 170735安大略省雷暴可能性预测加拿大环境部于美国东部时间2011年6月17日星期五凌晨3:35发布。下一份声明将于今日下午四时三十分发表。---------------------------------------------------------------------雷暴可能性预测。今天东部上空孤立的非严重雷暴以及安大略省东北部。今晚东部和今晚在安大略省东北部。星期六极端天气下的孤立非严重雷暴安大略省西南部主要在下午和晚上。---------------------------------------------------------------------如果雷暴产生一个或多个以下内容:-90公里/小时或更大的阵风。-直径2厘米或更大的冰雹。-一小时内降雨量达到或超过50毫米。-龙卷风。注:本预测于五月一日至九月三十日每日两次。结束/opc

我只想提取以下部分:

雷暴可能性预测。今天东部上空孤立的非严重雷暴以及安大略省东北部。今晚东部和今晚在安大略省东北部。星期六极端天气下的孤立非严重雷暴安大略省西南部主要在下午和晚上。

我在.Net 3.5上使用Csharp。感谢您的帮助。

问题已更新

正在检索字符串的一部分

可以做到这一点的一种方法(尽管不是100%理想)是这样的:

string[] textSplit = theWholeTextString.Split(new string[] { "---------------------------------------------------------------------" }, StringSplitOptions.None);
string myText = textSplit[2];

当然,假设您想要的文本总是在第三部分,并且每个部分总是由"------"行分隔

为了让我们能够帮助您,您需要告诉我们如何定义要保留的文本。它是从"---"+"Forecast"到最后一行的一行,还是其他东西,等等…regExp可以完成这项工作,但如果没有更多信息,我无法说出确切的语法。

如果您可以假设只有-------------行之间的内容才是您想要的,请尝试以下正则表达式:-{40,}(['s'S](?=-{40,}))-{40,}

Regex.Match(report, @"-{40,}(['s'S](?=-{40,}))-{40,}").Value

似乎唯一能为文本定界的是---------------------------------------------------------------------字符。

使用字符串怎么样。Split()。这里有一个例子:

string[] textArray = wholeText.Split(new string[] {"---------------------------------------------------------------------"}, StringSplitOptions.RemoveEmptyEntries);
string text = textArray[2];