【问题标题】:Extracting quantity (number) from long string of text从长字符串中提取数量(数字)
【发布时间】:2019-01-30 04:51:03
【问题描述】:

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

字符串是:

[{"orderItemId":609507407,"lineItemKey":"1509870501993","sku":"SKU-111111","name":"公司 产品 - NA / 在 1-2 业务中发货 days","imageUrl":"https://FAKEADDRESS.com/","weight":{"value":352.0,"units":"ounces","WeightUnits":1},"quantity":1,"unitPrice":1599.0 ,"taxAmount":null,"shippingAmount":null,"warehouseLocation":null,"options":[],"productId":30236912,"fulfillmentSku":null,"adjustment":false,"upc":"" ,"createDate":"2018-11-03T20:20:42.247","modifyDate":"2018-11-03T20:20:42.247"}]

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

即"quantity":123 将显示 123 但 "quantity":1," 将显示 1,"

(LEFT(RIGHT(N2:N,LEN(N2:N)-FIND("数量",N2:N,1)-9),3))

本质上,我只是想让公式在单元格中显示一个数值(数量)。没有其他的。

【问题讨论】:

标签: regex excel google-sheets excel-formula google-sheets-formula


【解决方案1】:

在我看来,这就像 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

【讨论】:

    猜你喜欢
    • 2016-10-02
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多