Regex 从长文本字符串中提取数量(数字)

Regex 从长文本字符串中提取数量(数字),regex,excel,google-sheets,excel-formula,google-sheets-formula,Regex,Excel,Google Sheets,Excel Formula,Google Sheets Formula,我的问题是这个。我提取的数据以一种非常不方便的方式添加信息。当我试图分离和提取字符串中的某个文本时,它变得非常复杂。我希望能够提取产品的数量,只显示数值,没有字母文本或字符 字符串为: [{“orderItemId”:609507407,“lineItemKey”:“1509870501993”,“sku”:“sku-111111”,“名称”:“公司” 产品-不适用/在1-2业务中发货 “天”、“图像URL”:“重量”:{“值”:352.0,“单位”:“盎司”、“重量单位”:1},“数量”:1,

我的问题是这个。我提取的数据以一种非常不方便的方式添加信息。当我试图分离和提取字符串中的某个文本时,它变得非常复杂。我希望能够提取产品的数量,只显示数值,没有字母文本或字符

字符串为:

[{“orderItemId”:609507407,“lineItemKey”:“1509870501993”,“sku”:“sku-111111”,“名称”:“公司” 产品-不适用/在1-2业务中发货 “天”、“图像URL”:“重量”:{“值”:352.0,“单位”:“盎司”、“重量单位”:1},“数量”:1,“单价”:1599.0,“税额”:null,“发货金额”:null,“仓库位置”:null,“选项”:[],“产品ID”:30236912,“完成SKU”:null,“调整”:false,“upc”:“创建日期”:“2018-11-03T20:20:42.247”,“修改日期”:“2018-11-03T20:20:42.247”]

使用(LEFT(RIGHT(N2:N,LEN(N2:N)-FIND(“quantity”,N2:N,1)-9),3))我能够找到数量的正确位置,但是,如果数值(quantity)是2或3位,它将保留后面的任何文本/数字

i、 e.“数量”:123将显示123,但“数量”:1,“将显示1,”

(左(右(N2:N,LEN(N2:N)-查找(“数量”,N2:N,1)-9),3))


本质上,我只希望公式显示单元格中的数值(数量)。没有别的了

对我来说,这看起来像JSON,甚至正则表达式对于单个数量的整数来说也可能有些过分

Dim str As String, el As String, q As Long

str = "[{""orderItemId"":609507407, ... ,""quantity"":1,""unitPrice"":1599.0, ... ,""modifyDate"":""2018-11-03T20:20:42.247""}]"
el = """quantity"":"

q = val(Mid(str, InStr(1, str, el) + Len(el)))
Debug.Print q

我相信通过查找/搜索,您可以指定起点。因此,在数量后找到逗号,用它来获得数字中的字符长度。如果在起始点后找到终点,即«“u”,则可以返回数字,而不知道它包含多少位数字…基本上是重复的:可能是