删除双引号前的所有内容
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
我正在尝试清理一个 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