我正在尝试解析雅虎答案提要 - http://answers.yahoo.com/rss/allq 问题是标题有
[ 类别 ] : 开放式问题 :
在我不想要的每个标题中...我想编写一个正则表达式来删除它...
我们可以做的任何事情来删除开头 [ 和第一个 : 中的所有字母都应该这样做。
还有一个空格:
,我们也需要删除它。
提前感谢您,我也会尝试自己找到解决方案。
我正在尝试解析雅虎答案提要 - http://answers.yahoo.com/rss/allq 问题是标题有
[ 类别 ] : 开放式问题 :
在我不想要的每个标题中...我想编写一个正则表达式来删除它...
我们可以做的任何事情来删除开头 [ 和第一个 : 中的所有字母都应该这样做。
还有一个空格:
,我们也需要删除它。
提前感谢您,我也会尝试自己找到解决方案。
您是否考虑过使用 Yahoo 的YQL服务来解析此提要(或其他网页)?
他们已经有示例查询供您获取 Yahoo Answers 数据:
answers.getbycategory: http: //developer.yahoo.com/yql/console/#h=select%20 *%20from%20answers.getbycategory%20where%20category_id%3D2115500137%20and%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%20and%20category_id%3D2115500137%20and% 20type%3D%22已解决%22
(仅供参考,以防您不知道这种方便的服务。我使用它而不是使用 RegEx 进行屏幕抓取。)
以下正则表达式应该可以完成这项工作:
^\[.*?:
c# 中的用法示例:
string resultString = Regex.Replace(subjectString, @"^\[.*?: ", "");
它所做的是以[
括号开头并取任何字符,直到它匹配 a:
并取以下空格。
希望这会有所帮助,汤姆。
感谢@ cmptrgeekken指出非贪婪的事情!