Remplacement d'un caractére conditionnel...
Dernière réponse : dans Programmation
Bonjour à tous.
Je vous expose mon problème.
Je dispose d'une chaîne de caractères de ce type :
J'envoie cette chaîne dans une bdd en utilisant comme séparateur la virgule. Or dans cet exemple, le 6 éme champ comprend lui même une virgule, et je ne n'ai pas trouver le moyen de la remplacer. Je souhaite a la place utiliser son équivalent héxadécimal (,).
Voici mon code...
Merci d'avance pour vos lumiéres
Je vous expose mon problème.
Je dispose d'une chaîne de caractères de ce type :
79507,-110,101,2,19073,'1.Enfer,le cauchemar',17431,'skipi',1393,'LGA²',704
J'envoie cette chaîne dans une bdd en utilisant comme séparateur la virgule. Or dans cet exemple, le 6 éme champ comprend lui même une virgule, et je ne n'ai pas trouver le moyen de la remplacer. Je souhaite a la place utiliser son équivalent héxadécimal (,).
Voici mon code...
$export_sql=str_replace("'", "", "$export_sql");
list($idVillage, $coordX, $coordY, $peuple, $idVillage2, $nomVillage, $idJoueur, $pseudo, $idAlliance, $nomAlliance, $population) = explode(",", "$export_sql");
Merci d'avance pour vos lumiéres
Autres pages sur : remplacement caractere conditionnel
Lassé par la pub ? Créez un compte
putain vous etes lourds....
j'ai compris et j'ai lu ce cours
http://cyberzoide.developpez.com/php4/regex/
mais j'ai pas exactement compris pour la soluce
Quand on formule une demande polis, courtoise et bien expliqué, la moindre des choses et de rendre l'appareil, et pas coller un mot suivie d'un smyley d'énervement!
je m'en vais sur un forum ou les gens sont plus polis...
j'ai compris et j'ai lu ce cours
http://cyberzoide.developpez.com/php4/regex/
mais j'ai pas exactement compris pour la soluce
Quand on formule une demande polis, courtoise et bien expliqué, la moindre des choses et de rendre l'appareil, et pas coller un mot suivie d'un smyley d'énervement!
je m'en vais sur un forum ou les gens sont plus polis...
et tu voulais pas que je te ponde la regex non plus
cela t'aurais servi a quoi ?
de plus, c'est pas avec ce simple exemple qu'on saurait te faire une regex complete qui fonctionne dans tous tes cas.
et pour ta gouverne, le smiley n'etait pas la pour dire "tu me fais ch*er" mais bien pour dire "pardi". En gros, la regex est la première solution qui me viens a l'esprit. et vu ta ligne a scanner, la regex ne doit pas etre bien difficile.
mais au fait, elle viens d'ou cette ligne ? ne me dit pas qu'elle viens d'un csv tout de meme !
si c'est le cas : http://be.php.net/manual/en/function.fgetcsv.php
c'est le premier truc que j'ai trouver, il doit exister des classes pour encapsuler ca tout bien comme il faut. le cas échéant, c'est pas difficile d'en coder une simple...
cela t'aurais servi a quoi ?
de plus, c'est pas avec ce simple exemple qu'on saurait te faire une regex complete qui fonctionne dans tous tes cas.
et pour ta gouverne, le smiley n'etait pas la pour dire "tu me fais ch*er" mais bien pour dire "pardi". En gros, la regex est la première solution qui me viens a l'esprit. et vu ta ligne a scanner, la regex ne doit pas etre bien difficile.
mais au fait, elle viens d'ou cette ligne ? ne me dit pas qu'elle viens d'un csv tout de meme !
si c'est le cas : http://be.php.net/manual/en/function.fgetcsv.php
c'est le premier truc que j'ai trouver, il doit exister des classes pour encapsuler ca tout bien comme il faut. le cas échéant, c'est pas difficile d'en coder une simple...
Bah, ta question reste posée. "Bien expliqué", ceci reste subjectif. Mais tu étais poli et courtois, reste-le.
Quant aux réponses reçues par un modérateur qui lui doit se taper des questions mal posées, malpolies et même pas courtoises, forcément elles peuvent être lapidaires, sans chercher à mal.
Bon, avis à ceux qui répondront à l'ardennais : il connaît les regex, le php, et cette $ù#@ de virgule l'emmerde. (En plus il est aimable comme un sanglier
)
Edit: GRILLED!!
Quant aux réponses reçues par un modérateur qui lui doit se taper des questions mal posées, malpolies et même pas courtoises, forcément elles peuvent être lapidaires, sans chercher à mal.
Bon, avis à ceux qui répondront à l'ardennais : il connaît les regex, le php, et cette $ù#@ de virgule l'emmerde. (En plus il est aimable comme un sanglier
)Edit: GRILLED!!
Bin tu fais un str_replace juste avant sur la (ou les) chaine(s) pouvant poser problème
cf: http://fr2.php.net/str_replace
cf: http://fr2.php.net/str_replace
Citation :
Euh, je ne connais pas PHP, mais les regex, si.AMHA, le motif de recherche devrait être
('[^']*),([^']*')
et la substitution \1,\2
Comment écrire ça en PHP ?
Pratiquement comme je l'ai écrit 2 posts plus haut
Je n'ai juste pas rajouté le 2e test de non présence d'un guillemet simple après la virgule, mais ce n'est pas forcément utile il me semble. Par contre le test d'un chiffre avant la virgule semble l'être non ?Pour ceux que ça intéresse de tester leurs regex en live, un petit soft sympa : The Regex Coach
dtom a dit :
Bonjour à tous.Je vous expose mon problème.
Je dispose d'une chaîne de caractères de ce type :
79507,-110,101,2,19073,'1.Enfer,le cauchemar',17431,'skipi',1393,'LGA²',704
J'envoie cette chaîne dans une bdd en utilisant comme séparateur la virgule. Or dans cet exemple, le 6 éme champ comprend lui même une virgule, et je ne n'ai pas trouver le moyen de la remplacer. Je souhaite a la place utiliser son équivalent héxadécimal (,).
Voici mon code...
$export_sql=str_replace("'", "", "$export_sql");
list($idVillage, $coordX, $coordY, $peuple, $idVillage2, $nomVillage, $idJoueur, $pseudo, $idAlliance, $nomAlliance, $population) = explode(",", "$export_sql");
Merci d'avance pour vos lumiéres
Salutation
Il y a une solution simple avec cut :
ici ton séparateur de champ est la virgule, donc en fait ::
cat 'ton fichier' | cut -d"," -f6,7
tu obtiens exactement ce que tu recherches !!!!
-d pour délimiteur (ici la virgule)
-f pour field / champs (ici les 6 et 7eme champs)
Voila
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumFormat conditionnel macro excel 4
- ForumRemplacement dun caractere par un autre dans une chaine
- ForumRemplacement de caractere ds un txt
- ForumRemplacement dun motif dans une chaine de caracteres
- ForumRemplacement de chaines de caracteres un script peutetre
- ForumRemplacement systematique dun caractere par une phrase dans works
- Voir plus