2017-01-23 2 views
1

J'ai parcouru quelques exemples de questions similaires ici sur la façon de trouver le premier caractère dans les données à remplacer par un autre caractère. C'est le délimiteur de colonne dans nos données et j'ai besoin de changer cela. L'un des exemples a réussi à remplacer la première virgule mais sur le réglage, il a remplacé tout ce qu'il faisait en boucle au début et a commencé à remplacer les virgules dans les données réelles dans la deuxième colonne, ce que je ne voulais pas.Regex notepad ++ remplacer le premier caractère seulement

La première colonne de données n'a pas d'autres caractères à se soucier car c'est une colonne ID. J'ai besoin de construire une regex qui identifie la première virgule et ensuite quelque chose pour le remplacer mais sans boucler au début des données et en remplaçant plus de virgules.

J'ai essayé de commencer petit et de construire. J'ai commencé avec ceci et il trouve la première virgule dans chaque rangée mais met également en évidence le caractère avant qu'il, que je pense doit ajuster.

([^,]);

Je n'ai pas trouvé de message ou d'aide sur exactement ce que je veux faire, j'essaie de rassembler des morceaux d'exemples variés de sujets différents, ce qui fonctionne d'une certaine façon mais ajoute des fonctionnalités supplémentaires que je ne veux pas .

Toute aide ou suggestion sur la façon de procéder serait grandement appréciée.

Merci

Andrew

+0

Vous voulez dire que vous voulez remplacer le premier ',' dans le document en cliquant * Remplacer tout *? On dirait que^([^,] *), ([\ s \ S] *) '->' $ 1 $ 2' devrait fonctionner alors. –

+0

Ou, ', (. *)' -> '$ 1' avec *' .' correspond à newline * on. –

Répondre

1

Si vous utilisez ([^,]); avec Remplacer tout, il supprime tous les caractères autres que , et la ; ultérieure, toutes ces occurrences.

Si vous voulez faire correspondre seulement la première , permettent la . correspond newline, et utiliser

,(.*) 

modèle regex remplacer par $1 (si vous voulez supprimer), ou :$1 (à, dire , remplacez par un deux-points). Si vous ne voulez pas jouer avec les options de l'interface utilisateur, vous pouvez passer le modificateur DOTALL en tant qu'option inline au modèle: (?s),(.*).

enter image description here