从字符串中提取最后一个词
Extract last word from strings
在 Google 表格中,我在单元格中有字符串值,如下所示:
1 Gheringhap Street, Geelong VIC 3220, Australia
我想从字符串中提取国家/地区值。问题是字符串值有不同数量的逗号,所以很难说单元格的最后一个值在哪个位置。我试过:
=INDEX(SPLIT(A2, ","), 1, 3)
但这只适用于正好有两个逗号的情况,如果逗号多了或少了,则查询失败。
有没有其他方法可以获取单元格中字符串的值?
有很多方法可以做到这一点。一种是拆分 spaces 并丢弃不需要的内容。另一个是使用公式,例如 Excel 中的常规公式(通过比较字符串的完整长度和用空值替换 spaces 来计算 spaces)并将其作为参数提供进入一个函数,该函数将跳到字符串中的那个实例,但在 Google 表格中,最简单的方法可能是使用 regexextract 例如:
=REGEXEXTRACT(A1,".+\s(.+)")
这将创建任意字符 .
任意次数 +
的提取组(在内部括号内),紧随任意字符之后任意次数,然后是 space \s
.
将 ,
替换为 ;
(如果您的电子表格的区域设置要求这样做)。
在 Google 表格中,我在单元格中有字符串值,如下所示:
1 Gheringhap Street, Geelong VIC 3220, Australia
我想从字符串中提取国家/地区值。问题是字符串值有不同数量的逗号,所以很难说单元格的最后一个值在哪个位置。我试过:
=INDEX(SPLIT(A2, ","), 1, 3)
但这只适用于正好有两个逗号的情况,如果逗号多了或少了,则查询失败。
有没有其他方法可以获取单元格中字符串的值?
有很多方法可以做到这一点。一种是拆分 spaces 并丢弃不需要的内容。另一个是使用公式,例如 Excel 中的常规公式(通过比较字符串的完整长度和用空值替换 spaces 来计算 spaces)并将其作为参数提供进入一个函数,该函数将跳到字符串中的那个实例,但在 Google 表格中,最简单的方法可能是使用 regexextract 例如:
=REGEXEXTRACT(A1,".+\s(.+)")
这将创建任意字符 .
任意次数 +
的提取组(在内部括号内),紧随任意字符之后任意次数,然后是 space \s
.
将 ,
替换为 ;
(如果您的电子表格的区域设置要求这样做)。