Google sheets 选择单元格中的特定文本-谷歌工作表
我想从单元格中提取一段特定的文本 单元格内容如下所示;Google sheets 选择单元格中的特定文本-谷歌工作表,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我想从单元格中提取一段特定的文本 单元格内容如下所示; “修改”:“1595515574184000”,“所有者id”:“xxxx”,“优先级id”:“xxx”,“严重性id”:“xxx”,“状态id”:“xxxx”,“类型id”:“xxxx”,“用户电子邮件”:“xxx”,“用户id”:“xxxx”,“验证人id”:“xxxxx” 所有内容都以这种格式显示,但是,项目的顺序并不总是相同的,因此诸如left(),right()&mid()之类的函数对我来说不起作用 我也尝试过使用split()函
“修改”:“1595515574184000”,“所有者id”:“xxxx”,“优先级id”:“xxx”,“严重性id”:“xxx”,“状态id”:“xxxx”,“类型id”:“xxxx”,“用户电子邮件”:“xxx”,“用户id”:“xxxx”,“验证人id”:“xxxxx”
所有内容都以这种格式显示,但是,项目的顺序并不总是相同的,因此诸如left()
,right()
&mid()
之类的函数对我来说不起作用
我也尝试过使用split()
函数,但它会在不同的列中生成一个项目数组
在上面的单元格中,我想提取每个“修改”标记后的16位数字
如果有人有任何建议或反馈,请告诉我
谢谢试试:
=REGEXEXTRACT(A1, "\d+")
或:
我想补充上面player0的答案(已经正确了)。当我们已经确定想要提取的字符串的长度时,我总是喜欢使用特定的重复次数,而不是使用
+
和*
。通过这种方式,我们可以始终获得我们正在寻找的确切答案,它还将充当数据检查器,因为如果它不遵循严格的模式“modified”:“
,它将出错。我会用这个:
=REGEXEXTRACT(A1, """modified"":""(\d{16})""")
如果您不希望严格,那么player0的第二个答案应该很好。\d+不会在数字之后导入更多内容,也不会导入少于数字块的内容。如果有任何可能导致错误的数字少于16位或超过16位,则将其指定给\d{16}将只会适得其反-没有为输入@player0完全提取它。我知道这是重复特定次数的缺点。我使用它是因为OP提到了数字的长度,而且,这也是检查提取的字符串是否在预期输出范围内的一种好方法,因为如果数字不完全是16,它将出错。这就是为什么我在我们已经确定长度时提到了
。这将同时起到数据检查的作用。这取决于OP是否适用于他想要使用的用例。这只是我个人的喜好,当涉及到这样的数据。拇指向上!完美地工作
=REGEXEXTRACT(A1, """modified"":""(\d{16})""")