Cmt supprimer d mots entre crochet? (exp reg)
riders974
Messages postés
126
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Comme je suis nul en expression réguliére, je cherche a savoir cmt supprimer des mots avec des crochets du style j'ai texte comme ceci par exemple:
[bleu]Je/bleu m'appelle [rouge]Toto/rouge
aprés le processus d'élimination
me retourne que le texte cad: Je m'appelle Toto
Si vous avez la solution, je vous remercie d'avance!!
Comme je suis nul en expression réguliére, je cherche a savoir cmt supprimer des mots avec des crochets du style j'ai texte comme ceci par exemple:
[bleu]Je/bleu m'appelle [rouge]Toto/rouge
aprés le processus d'élimination
me retourne que le texte cad: Je m'appelle Toto
Si vous avez la solution, je vous remercie d'avance!!
A voir également:
- Cmt supprimer d mots entre crochet? (exp reg)
- Supprimer rond bleu whatsapp - Guide
- Supprimer page word - Guide
- Supprimer pub youtube - Accueil - Streaming
- Multi exp heartgold - Forum Jeux vidéo
- Mots entre amis messenger solution - Forum jeux en ligne
3 réponses
Désolé je ne pourrais pas t'aider plus, je ne connais pas le Java Script...
Peut-être que mon code en Pascal t'aidera... bonne chance !
Peut-être que mon code en Pascal t'aidera... bonne chance !
Avec quel langage travailles-tu ? Par exemple en Pascal, ça pourrait faire ceci :
function CopieSaufCrochet(s:string):string;
var i,j:integer;
begin
j:=0; result:='';
for i:=1 to length(s) do
begin
if s[i]='[' then j:=j+1
else
if s[i]=']' then j:=j-1
else
if j=0 then result:=result+s[i];
end;
end;
function CopieSaufSlash(s:string):string;
var i,j:integer;
begin
j:=0; result:='';
for i:=1 to length(s) do
begin
if s[i]='/' then j:=1
else
if s[i]=' ' then j:=0;
if j=0 then result:=result+s[i];
end;
end;
function Simplifier(s:string):string;
begin
result:=CopieSaufSlash(CopieSaufCrochet(s));
end;
Moi je voudrais avoir la solution en JavaScript!!
J'ai trouver une pré-solution en java script mais y a un bug et je ne sais pa cmt le résoudre!!
Voici ma solution:
<script type="text/javascript">
function traiter_keywords(){
var text_contenu = document.getElementsByName("contenu_page")[0].value;
var exp_reg = new RegExp("<([^<> ]*)>","g");
var exp_spl = new RegExp("[ ;,]+","g");
var text_keywords="";
text_contenu = text_contenu.replace("[","<");
text_contenu = text_contenu.replace("]",">");
text_contenu = text_contenu.replace(exp_reg,"");
alert(text_contenu);
//Tableau de mots
var lst_mots = text_contenu.split(exp_spl);
for(var i=0; i<lst_mots.length; i++){
if(!text_keywords.match(lst_mots[i]) && lst_mots[i].length>2) text_keywords += lst_mots[i]+" ";
if(text_keywords.length>250) break;
}
document.getElementById("KeyW").value = text_keywords;
}
</script>
Avec ce code, je suis obliger de remplacer les crochet par les < et > car je ne sais pas pourquoi, Java n'accepte pas \[ ou \]!!! mais le probléme, c'est que le remplacement ne se fait pas sur la totalité de la chaine text_contenu!!
Donc si il y a plusieurs balise entre crochet, la premiére sera supprimé mais pas les suivantes!!
La je ne sais plus cmt rsoudre mon probléme!!
Aidez moi si vous avez la solution, merci!!
J'ai trouver une pré-solution en java script mais y a un bug et je ne sais pa cmt le résoudre!!
Voici ma solution:
<script type="text/javascript">
function traiter_keywords(){
var text_contenu = document.getElementsByName("contenu_page")[0].value;
var exp_reg = new RegExp("<([^<> ]*)>","g");
var exp_spl = new RegExp("[ ;,]+","g");
var text_keywords="";
text_contenu = text_contenu.replace("[","<");
text_contenu = text_contenu.replace("]",">");
text_contenu = text_contenu.replace(exp_reg,"");
alert(text_contenu);
//Tableau de mots
var lst_mots = text_contenu.split(exp_spl);
for(var i=0; i<lst_mots.length; i++){
if(!text_keywords.match(lst_mots[i]) && lst_mots[i].length>2) text_keywords += lst_mots[i]+" ";
if(text_keywords.length>250) break;
}
document.getElementById("KeyW").value = text_keywords;
}
</script>
Avec ce code, je suis obliger de remplacer les crochet par les < et > car je ne sais pas pourquoi, Java n'accepte pas \[ ou \]!!! mais le probléme, c'est que le remplacement ne se fait pas sur la totalité de la chaine text_contenu!!
Donc si il y a plusieurs balise entre crochet, la premiére sera supprimé mais pas les suivantes!!
La je ne sais plus cmt rsoudre mon probléme!!
Aidez moi si vous avez la solution, merci!!