如何使用Google Sheets的REGEXEXTRACT提取" :"前的完整文本?
解决方案
在Google Sheets中,使用以下REGEXEXTRACT公式即可满足需求:
=REGEXEXTRACT(A1, "^(.*?)(?= :|$)")
正则逻辑说明:
^:锚定字符串开头,确保从起始位置匹配.*?:非贪婪匹配任意字符(包含空格),直到触发后续停止条件(?= :|$):正向预查规则,匹配两种终止场景:::匹配你指定的空格加冒号序列$:匹配字符串结尾
- 整体效果:字符串存在
:时提取序列前的全部内容;不存在时直接返回原字符串
示例验证:
对应你的输入输出需求:
- 输入
Sydney Distr Center→ 输出Sydney Distr Center - 输入
Port Macquarie→ 输出Port Macquarie - 输入
Port Macquarie : Port Macquarie Display→ 输出Port Macquarie - 输入
Taree→ 输出Taree - 输入
Taree : Taree Display→ 输出Taree
你之前使用的^[^\s:]+仅匹配到第一个空格或冒号前的内容,原因是[^\s:]+是排除空格和冒号的贪婪匹配,自然无法保留内容中的空格。
内容的提问来源于stack exchange,提问作者Armidale Storeperson
相关产品推荐
相关产品推荐

