【发布时间】:2020-04-02 16:18:24
【问题描述】:
我即将着手将大量 JSON 对象数据重组为不同的格式,以用于明年夏天的课程作业。不幸的是,当前状态的数据不能完全满足我的需求,我没有办法以任何其他方式抓取这些数据。抓取的结果返回为;
[
{
"classes": [
[
{
"Friday": "",
"Monday": "",
"Tuesday": "",
"Saturday": "",
"Thursday": "",
"Wednesday": ""
},
{
"Friday": "",
"Monday": "",
"Tuesday": "",
"Saturday": "",
"Thursday": "",
"Wednesday": ""
},
{
"Friday": "",
"Monday": "",
"Tuesday": "",
"Saturday": "",
"Thursday": "",
"Wednesday": "10:00 - 11:00MK4603 - LEC firstname lastname DR KBG121-12"
}
上面的 sn-p 是针对 10:00 的时间段,(27 个切片代表大学时间。)
看一个典型的键:
10:00 - 11:00MK4603 - LEC firstname lastname DR KBG121-12
它分为以下几个元素。
[10:00 - 11:00][MK4603] [-] [LEC] [firstname lastname DR] [KBG12][1-12]
Time Module n/a Type Lecturer Room# Weeks`
时间以 24 小时为单位,模块将准确包含该长度的字符,类型为:TUT 或 LEC,讲师始终由 DR 终止(如果适用),房间分解为:第一个 1-2 个字母 = 建筑物首字母|下面的字母是带有一个字符的地板 |后面两个数字是楼层号。
但是有时(这是一种极端情况),大学可能会将上述的两个“模板”放在同一个 HTML tr 框中,这将导致 -
10:00 - 11:00MK4603 - LEC 名姓 DR KBG121-12 11:00 - 12:00LI4113 - LEC 先后 DR D10501-12
将这种刺痛和类似刺痛分离成这些组件的最佳方法是什么?我完全能够处理之后的开发,但是我完全不知道如何处理当前格式化的字符串。有人可以就如何解决这个问题提供建议吗?
我在使用 Regex 时取得了一些有限的成功,但我确实制作了这个来查找字符串中的时间:
[(00-24)]*[(:)].{2}
对于这个问题是否有任何人都知道的更优雅或更有创意的解决方案?
【问题讨论】:
-
大家好,只是一个简短的说明,我知道它当前是一个对象数组,但这将在稍后处理! :)
-
这种格式总是一样的吗?正如你在模板中列出的那样?
-
是的!然而,我需要提到的一个小特点是,有时大学在一个 HTML 插槽中提供两个课程,这会将其中两个“模板”转换为同一个键,即; 11:00:11:30 ...(以上关键示例)... 12:00 12:30
-
请在您的问题中也添加该示例。
-
另外,在最后一个字符串 KBG121-12 房间号的规则是 LETTER+LETTER+LETTER+DIGIT+DIGIT 吗?然后是几周?
标签: javascript arrays json regex reactjs