首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将行折成已知词

如何将行折成已知词
EN

Stack Overflow用户
提问于 2014-01-09 18:14:11
回答 2查看 151关注 0票数 0

我需要将一行字符串分解为excel中的不同列。这是我得到的输入。

输入

  • 37006第二学期P.G.临床研究和临床数据管理考试文凭,2012年7月/8月制药监管事务时间:最长3小时。分数: 100

输出:具有结构的CSV记录(代码、Sem/年、科目、课程、考试日期、时间、标记)

  • 37006,第二学期,P.G.医药监管事务临床研究和临床数据管理文凭,2012年7月/8月,3小时,100

我在不同的集合中有数据,这些数据构成了上面的行。例如:

语法(这是一个数组/字典):

  • SemestersI,II,III,IV,V,VI,VII,VIII,IX,X,1,2,3,4,5,6,7,8,9,10
  • YearsI,II,III,IV,V,VI,VII,VIII,IX,X,1,2,3,4,5,6,7,8,9,10
  • 项目G.临床研究和临床数据管理文凭,法学学士
  • CoursesPharma监管事务、法律-判例
  • ExamDates 2012年7月/8月,2013年1月/2月
  • Time3小时
  • 最多30,40,50,60,70,80,90,100

FYI

  • 我不确定是否可以使用任何分隔符来打破它,因为它非常不可预测或可靠。
  • 我不确定文本在每一行中都是一样的,或者没有固定的长度,也不确定汽车或单词

我的假设是,逐字逐句地阅读,并尝试与任何数组中的任何单词匹配。如果它与任何单词匹配,那么将该词归类为下降的类别,并添加到excel的相关列中。

在这里,我知道如何处理数据和一切,除了了解每个单词的优化/最佳方法属于哪一类之外。

有没有词汇分析专家可以分享这方面的一些想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-09 18:21:54

您应该使用正则表达式来匹配这样复杂的文本模式。

票数 0
EN

Stack Overflow用户

发布于 2014-01-09 18:27:32

请看一下像这样的词法分析器。如果您了解Java或其他阅读正则表达式的语言,那么在经过一下午(或一周)的折磨之后,您将能够轻松地解析这些表达式。您也可以用Java编写regexp,但是我会提示您使用ANTLR接口,您可以从Eclipse中使用该接口。它将向您展示如何解析这些行。

让ANTLR或Java的输出写出一个CSV文件。CSV将成为您将数据输入Excel电子表格的工具。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21027989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档