【发布时间】:2022-01-06 03:39:07
【问题描述】:
我在学习 puppeteer 时正在抓取网页作为一个有趣的小项目,在那段时间里,我在清理字符串以获取 有用 数据时遇到了一些问题.我想出了一些从他们那里提取我想要的数据的简单方法,但是我遇到了一些我不知道处理事情的最佳方法的极端情况。
取这个字符串
Round 1 - Foo Bar (SchoolName) over John (JC) Cena (Fake School Name) (Fall 1:19)
我想得到的数据。
- 获奖者姓名 = Foo Bar
- 获胜者的学校 =(学校名称)
- 失败者的名字 = 约翰·塞纳
- 失败者的学校 = 假学校名称
Round 1 和 - 对我来说毫无用处,它们在整个应用程序中遵循相同的结构。所以,使用只选择这些项目应该在的索引的方法,应该很容易。
此字符串中最重要的索引是over 所在的位置。一旦我找到了,我就可以搜索它周围的索引来找到我需要的其余信息在哪里。
let findOver = arr.indexOf('over')
let winnerName = arr[over - 3].concat(' ', arr[over - 2])
let winnerSchool = summaryBreakUp[over - 1]
这适用于上面的字符串,至少适用于左侧。它会获取获胜者的名字和姓氏并将他们连接起来。
我的问题是,当字符串看起来不像左侧时,如何考虑上述边缘情况。
我可以搜索所有( && ) 并捕获其中的所有数据以获得School Names,但是我需要筛选一种方法来确定哪个是学校,哪个是昵称。
任何方向将不胜感激。我还会发布更多示例,以防其他人想尝试一下。
这是对未指定对手的胜利。
Michael Macontish (Fairview) over Unknown (For.)
没有给出回合
John Heflin (Arlington) over Random Kid (Mistview) (Fall 1:59)
没有跌倒
Round 2 - Logan Paul George (High School) over Dontae Inverse (Jackson County) (Dec 3-0)
【问题讨论】:
-
这就是正则表达式的用途。您现在有 2 个问题!
-
正则表达式如何解决我的问题?
标签: javascript reactjs string split concatenation