我正在使用 IMPORTXML 来获取一些数据,然后使用正则表达式来提取一些文本。我想要提取的部分是姓名。
它总是跟在“全名:”(减去引号)后面。名字后面总是有一个单词,后面跟着另一个冒号。这个单词可以是发音、语言学、类型,或者其他任何词。
我能得到的最接近的公式是这个:
=IFERROR(REGEXEXTRACT(REGEXREPLACE(JOIN(" ", IMPORTXML(B13, "//div[@id='meta']")), "\s+", " "), "Full Name:\s*([A-Za-z]+(?:[-'\s][A-Za-z]+)*)"), "")
不幸的是,最后一句话还是留下来了。
例如如果你有:
全名:亚伯拉罕·林肯 昵称:诚实的亚伯。
我只想让它拉出亚伯拉罕·林肯。我有这个公式输出:
亚伯拉罕·林肯 昵称
其他示例:
- 全名: John Smith-Rogers 完成:
- 全名:David Ben-Williams 序言:
- 全名:Sean O'Brian 昵称:
- 全名: D'Andre Ayton 时间:
- 全名:Andy Van Slyke 姓名:
各自的输出:
- 约翰·史密斯-罗杰斯
- 戴维·本·威廉姆斯
- 肖恩·奥布莱恩
- 安德烈·艾顿
- 安迪·范·斯莱克
实例: https://www.baseball-reference.com/players/l/lopezal01.shtml
公式应输出:Alfonso Ramon Lopez
https://www.baseball-reference.com/players/r/ruthba01.shtml
公式应输出:George Herman Ruth
我还需要做什么才能确保 O'Brien 和 Smith-Rogers 这样的名字不受影响?