删除双引号前的所有内容

Delete everything before a double quote

我正在尝试清理一个 CSV 文件,其中有一列内容如下:

Sometexthere1", "code"=>"47.51-2-01"}]

我想删除第一个引号 (") 之前的所有内容,以仅保留以下内容:

Sometexthere1

我知道我可以使用 $` 来获取正则表达式中某些匹配项之前的所有内容,但我不明白如何只保留第一个双引号之前的字符串。

Parameter expansion 做得很好:

# Define a variable
s='Sometexthere1", "code"=>"47.51-2-01"}]'

# expand it, removing the longest possible match (from the end) for '"'*
result=${s%%'"'*}

# demonstrate that result by printing it
printf '%s\n' "$result"

...正确地 returns Sometexthere1.

您的意思可能是 "delete everything after a double quote"?在 Open Refine 中,您可以使用这个 GREL 公式:

value.replace(/".+/, "")


> Result : Sometexthere1