2017-07-29 2 views
0

Je suis en train de nettoyer un fichier CSV qui a une colonne avec le contenu comme celui-ci:Supprimer tout avant un guillemet

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

Et je voudrais retirer tout avant la première citation (") pour de garder ceci:.

Sometexthere1 

Je sais que je peux utiliser `$ pour tout avant un certain match regex, mais je ne comprends pas comment garder juste la chaîne avant le premier guillemet

+0

est la partie d'échantillon donnée de la ligne ou de la ligne entière? ajoutez aussi le code/la commande que vous avez essayé de mettre en doute – Sundeep

Répondre

0

Vous voulez probablement dire "supprimer tout après une double citation"? Dans Open Refine, vous pouvez utiliser cette formule GREL:

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


> Result : Sometexthere1 
2

Est-ce Parameter expansion assez bien:

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

... retourne correctement Sometexthere1.

+1

* Suppression de la sous-chaîne * et * remplacement de la sous-chaîne * correspondra à la facture. par exemple 'result =" $ {s // \ "* /}" '. –