【发布时间】:2017-07-13 16:59:32
【问题描述】:
在我编写自己的方法之前,我很好奇是否有一个正则表达式可以帮助我。
背景
在对术语进行统计分析之前,我正在清理原始文本。文本来自网站,因此包括菜单(来自许多网站的许多菜单)。
典型的列表/菜单如下所示(项目之间有一个换行符除外):
学生服务
指导与支持
核心服务
录取和记录
经济援助
咨询
评估测试
Kickstart 方向
辅导
职业与转学中心
学生欢迎中心
手头的任务 我想删除所有列表
我需要删除每隔第一个、第三个或第四个单词后有换行符的文本块,但前提是这种模式连续重复 3 次或更多次(我不想删除单个短句,例如“学生总是成功的。”)
正则表达式可以识别这种模式吗?
注意:我正在使用 java。
更新示例文本
[[[我想删除此列表]]] 办公室和服务
学生服务
活动与田径
记录和注册
成本和经济援助
合规与多元化
校友
教职员工资源
BMCC 基金会
人力资源
BMCC 主页>学术>健康教育>课程列表
[[[我想删除此列表]]] 健康教育之家
课程列表
教师
[[[我想删除此列表]]] 社区健康教育
老年学
学校健康教育
公共卫生
参观招生
课程列表
[[[我想在下面保留文字]]] 以下课程由健康教育部提供。
2CRS., 2HRS, 0 LAB HRS。 海德 100 健康教育
这是一门健康教育的介绍性调查课程。该课程为学生提供知识、技能和行为模式,以增强他们的身体、情感、社交、智力和精神健康,并促进他们的健康决策能力。主要教学领域包括:健康和保健;压力;人类的性行为;酒精、烟草和药物滥用;营养和体重管理;和身体素质。完成 HED 110 - 综合健康教育的学生将不会获得本课程的学分。
3CRS.、3HRS、0 LAB HRS。 110 年 综合健康教育
这门健康教育课程提供了一种综合方法,为学生提供知识、技能和行为模式,以增强他们的身体、情感、社交、智力和精神健康,并促进他们的健康决策能力。专业领域包括:酒精、烟草和滥用物质、心理和情绪健康、人类性行为和家庭生活、营养、身体健康、心血管健康、环境健康和医疗保健服务。 HED 110 满足 HE 100 的所有学位要求。完成 HED 100 - 健康教育的学生将不会获得本课程的学分。
【问题讨论】:
-
您好,您可以添加一个示例吗?我的意思是,输入和期望的输出是什么?
-
"...每隔一个第二个、第三个或第四个单词后换行..." 单词数重要吗?
-
输入将是来自网页的纯文本(不是 html)。 ... 有点长在这里展示。问题中显示的列表是需要从文本中删除的典型内容。输出将是相同的纯文本,但删除了所有列表。
-
字数重要吗?启发式是菜单和列表中的条目是四个或更少的单词。由于我正在处理大数据,删除 90% 的列表就足够了,“4 个字或更少”的规则应该可以达到这个目的
-
哦,我明白了!这就是为什么“新行”/“新行”格式很重要的原因!感谢您的澄清,@kirkpatt 帖子和很棒的答案!