J'ai une chaîne qui peut aller de la chaîne vide à une liste arbitraire de nombres délimités par des virgules. Par exemple: "1,2,3"
Existe-t-il une seule expression régulière pour remplacer un nombre dans une liste délimitée?
Malheureusement, lorsque j'écris le code pour supprimer un élément, j'ai un tas d'instructions if - principalement pour traiter s'il s'agit du premier, du dernier ou du seul élément de la liste. Je continue à penser qu'il doit y avoir un meilleur moyen!
Par exemple, il me faudrait être en mesure d'éliminer l'élément '2
' dans les listes suivantes:
"1,2,3"
"1,3,2"
"2,1,3"
"2"
"12,2,21"
""
Ahhh j'ai oublié \ b. C'est exactement ce que je cherchais, merci! – Zugwalt
si le 2 est au milieu, cela supprimera la virgule avant et la virgule après. Exemple: echo "1,2,3" | sed -e 's/\\ (\ b, \\) 2 \ (\ b, \\) //' vous donne: "13" mais devrait vous donner "1,3" – JasonWoof