我需要将一行字符串分成不同的列进入Excel。这是我得到的te输入。

输入

  • 37006 II学期P.G.临床研究和临床数据管理文凭课程,2012年7月/ 8月制药监管事务时间:3小时最多。标记:100

输出:CSV记录结构(代码,SEM /年,主题,课程,考试日期,时间,标记)

  • 37006,II学期,P.G。临床研究和临床数据管理文凭,2012年7月/ 8月,3小时,100

我有不同集合的数据,其构造在线上。例如:

语法(这是一个阵列/词典):

  • 学期[I,II,III,IV,V,VI,VII,VIII,IX,X,1,2,3,4,5,6,7,8,9,10]
  • 年[I,II,III,IV,V,VI,VII,VIII,IX,X,1,2,3,4,5,6,7,8,9,10]
  • 受试者[p.g。临床研究和临床数据管理文凭,LL.B]
  • 课程[Pharma Scentation Defactic,法律 - 判例]
  • 考试[2012年7月/ 8月,1月/ 2012年。 2013]
  • 时间[3小时]
  • maxmarks [30,40,50,60,70,80,90,100]

fyi,

  • 我不确定我可以使用任何分隔符来将其作为其高度不可预测的或可靠的。
  • 我不确定文本在每行中的顺序相同,还是没有固定长度或汽车或单词

我的假设是,通过Word读取单词,并尝试与我拥有的任何数组中的任何单词匹配。如果它与任何单词的匹配,则将该字分为下降类别并在Excel中添加到相关列。

这里,我知道如何处理数据和一切,除了什么是优化/最佳方式 了解在哪个类别下的每个单词。

有没有任何词汇分析专家可以分享一些思想?

有帮助吗?

解决方案

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

其他提示

请看看像 antlr 一样的词汇分析仪。如果您知道Java或其他语言阅读常规表达式,您将能够在下午(或一周)之后轻松解析这些折扣。您也可以在Java中编写regexp,但我会向您推向Antlr接口,您可以从Eclipse中使用。它将向您展示如何解析这些行。

具有antlr或Java的输出写出CSV文件。CSV将成为您的车辆,将数据置于Excel电子表格中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top