如何在 Google 表格中找到字符串中第一个数字的位置

How do I find the position of first number in a string in Google Sheets

我试图在 Google 表格

中找到字符串(单元格 E4)中第一个数字的位置

我试过:

=FINDB("\D+";E4)
=FINDB("[0-9]";E4)
=FINDB("[0-9]+";E4)

但其中 none 个有效

例如 "I am 23 year old" 那么第一个数字的位置就是 6

有什么想法吗?

试试这样:

=FINDB(REGEXEXTRACT(A1; "\d"); A1)

您也可以使用 REGEXEXTRACT^\D* 模式来提取字符串开头的所有 non-digit 个字符(如果有的话,* 表示 0 次或多次出现),然后获取结果字符串的长度以查找数字字符的 zero-based 索引(或添加 1 以获得 one-based 索引) :

=LEN(REGEXEXTRACT(A1, "^\D*"))
=LEN(REGEXEXTRACT(A1, "^\D*"))+1

测试: