我正在尝试清理一个 CSV 文件,该文件有一列内容如下:
Sometexthere1", "code"=>"47.51-2-01"}]
而且我想删除第一个引号(“)之前的所有内容,以保留以下内容:
Sometexthere1
我知道我可以使用 $` 在正则表达式中的某些匹配之前获取所有内容,但我不明白如何在第一个双引号之前保留字符串。
我正在尝试清理一个 CSV 文件,该文件有一列内容如下:
Sometexthere1", "code"=>"47.51-2-01"}]
而且我想删除第一个引号(“)之前的所有内容,以保留以下内容:
Sometexthere1
我知道我可以使用 $` 在正则表达式中的某些匹配之前获取所有内容,但我不明白如何在第一个双引号之前保留字符串。
参数扩展做得很好:
# 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
。
您可能的意思是“删除双引号后的所有内容”?在 Open Refine 中,您可以使用以下 GREL 公式:
value.replace(/".+/, "")
> Result : Sometexthere1