我正在尝试解析雅虎答案Feed - http://answers.yahoo.com/rss/allq 问题是标题有
[类别]:未决问题:
在我不想要的每个标题中......我想写一个正则表达式来删除它...
我们可以删除开头的所有字母[和第一个:应该这样做。
:
之后还有一个空格,我们也需要删除它。
提前感谢您,我也会尝试自己找到解决方案。
答案 0 :(得分:1)
以下正则表达式应该完成这项工作:
^\[.*?:
c#中的使用示例:
string resultString = Regex.Replace(subjectString, @"^\[.*?: ", "");
它的作用是从[
括号开始,取任何字符,直到它与:
匹配,然后取下面的空格。
希望这有帮助, 汤姆。
感谢@ cmptrgeekken指出非贪婪的事情!
答案 1 :(得分:1)
您是否考虑过使用雅虎的YQL服务来解析此Feed(或其他网页)?
他们已经为您提供了样本查询以获取Yahoo Answers数据:
<强> answers.getbycategory:强> http://developer.yahoo.com/yql/console/#h=select%20 *%20from%20answers.getbycategory%20where%20category_id%3D2115500137%20于是%20type%3D%22resolved%22
<强> answers.getbyuser:强> http://developer.yahoo.com/yql/console/#h=select%20 *%20from%20answers.getbyuser%20where%20user_id%3D%22YbaMGtHFaa%22
<强> answers.getquestion:强> http://developer.yahoo.com/yql/console/#h=select%20 *%20from%20answers.getquestion%20where%20question_id%3D%2220090526102023AAkRbch%22
<强> answers.search:强> http://developer.yahoo.com/yql/console/#h=select%20 *%20from%20answers.search%20where%20query%3D%22cars%22%20于是%20category_id%3D2115500137%20于是%20type%3D%22resolved%22
(如果你不知道这个方便的服务,只是一个FYI。我使用它而不是使用RegEx的屏幕抓取。)