0

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

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

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

Sometexthere1

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

4

2 回答 2

2

参数扩展做得很好:

# 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"

...正确返回Sometexthere1

于 2017-07-29T05:13:52.617 回答
0

您可能的意思是“删除双引号后的所有内容”?在 Open Refine 中,您可以使用以下 GREL 公式:

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


> Result : Sometexthere1
于 2017-07-29T09:07:21.863 回答