regex - 在长长的可变文本字符串中提取文本
问题描述
我遇到的问题是这个。我提取的数据以非常不方便的方式添加信息。当我试图隔离和提取字符串中的某个文本时,它变得非常复杂。我希望能够提取“Ships in 1-2 个工作日”,其中一些字符串被列为“Ships 1-2 周”,如果适用,也需要提取。
单元格中的字符串是:
[{"orderItemId":609507407,"lineItemKey":"1509870501993","sku":"SKU-111111","name":"公司产品 - NA / 1-2 个工作日内发货","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"}]
使用 =RIGHT(C5,LEN(C5)-FIND("Ships",C5,1)+1)我能够找到我需要的东西,但是之后的一切仍然存在。请参见下面的示例。
1-2 个工作日内发货","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,"调整":false,"upc":"","createDate":"2018-11-03T20:20:42.247","modifyDate":"2018-11-03T20:20:42.247"}]
本质上,我只想让公式提取文本“1-2 个工作日内发货”,如果不是 1-2 天发货方式,一些字符串将包含“1-2 周内发货”,我会也喜欢提取。
解决方案
这是您需要的公式。这是你已经拥有的东西的变体。
=LEFT(B12,FIND(CHAR(34),B12)-1)
当然,B12 包含您发布的公式。因此,通过用您的公式替换“B12”,您可以获得所需的结果。
=LEFT(RIGHT(C5,LEN(C5)-FIND("Ships",C5,1)+1),FIND(CHAR(34),RIGHT(C5,LEN(C5)-FIND("Ships",C5,1)+1))-1)
推荐阅读
- arrays - 从 React 应用程序上的 cloudinary 获取视频数组
- oracle - 插入时复制失败,未找到数据
- python - 对新变量的 Python 赋值更改原始列表中的值
- assembly - 在 asm 中做直接寻址模式
- javascript - 将字典传递给 Vue.js 存储
- java - 下一个代码总是在不应该的情况下由于某种原因返回 false
- kubernetes - Kubernetes Ingress 没有重定向到正确的路径
- python - 为什么我会得到持续的损失和准确性?
- python - 无法安装 GeoPandas/GDAL
- android-studio - 如何修复 AVD Manager 中的“无法找到 adb”错误?