Bonjour à la communauté !
j'ai besoin de votre aide, en effet je cherche à retirer dans un texte, par exemple, tous les : le la les du en ect.
J'ai pour se faire une fonction qui split le texte, compare chaque chaîne en nombre de caractères et d'équivalence (le = le mais le de lendemain n'est pas équivalent etc...).
Or le traitement est beaucoup trop long, surtout si l'on considère que j'ai 700 pages à balayer régulièrement.
Existerait il une expression régulière qui pourrait travailler plus rapidement ? ou un autre procédé ou une idée pour un traitement plus rapide ?
merci par avance
Voici ma fonction, elle est brut de pomme, alors excusez moi, mais elle fonctionne.
<html><head>
<script>
function eclat(){
var mots = new Array('le','la','je','et','il','ils','au','les','on','ou','est','leur','leurs','en','du','des');
var ChaineDebut = document.getElementById('test3').value;
var morceau=ChaineDebut.split(" ");
document.getElementById('countCaract').value=SousChaine.length;
var ExpressRegul = new RegExp(SousChaine,"gi");
var trouve=ChaineEclat.search(ExpressRegul);
document.getElementById('countMots').value=ChaineEclat.length;
var mots = new Array('le','la','je','et','il','ils','au','les','on','ou','est','leur','leurs','en','du','des');
var tmp;
var txt=document.getElementById('test3');
for ( var n=0;n<mots.length;n++ )
{
tmp = new RegExp(mots[n]+' ','gi');
txt.value=txt.value.replace(tmp,'');
}
une boucle malgré tout, mais je suis loin d'être un
spécialiste ( de quoi que ce soit, et des expressions
régulières en particulier )
ira-ce plus vite ? ionosai.
on doit pourvoir faire largement mieux...
j'ai testé, mais comme avec d'autres essais que j'ai pu faire avec d'autres fonctions j'ai toujours le même problème de parties de mots sont retirées ????
C'est pour cela que je m'étais résolu à compter le nbre de caractère avant d'effacer le mot
en reprenant votre exemple :
<html><head>
<script>function ote(){
var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc');
var tmp;
var txt=document.getElementById('test3');
for ( var n=0;n<mots.length;n++ )
{
tmp = new RegExp(mots[n]+' ','gi');
txt.value=txt.value.replace(tmp,'');
}
}</script>
</head>
<textarea id=test3 cols=80>Une activité effective minimale (y compris les stages de la formation professionnelle rémunérée) est exigée d'au
moins un des membres du couple ou de la personne isolée .</textarea>
Une activité effective minimale (y compris les stages de la formation professionnelle rémunérée) est exigée d'au moins un des membres du
Bonjour,
function ote()
{
var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc');
var text = document.getElementById('test3').value.split(" ");
var text2="";
for(i=0;i<text.length;i++)
{
for(j=0;j<mots.length;i++)
{
if(text[i].toLowerCase()!=mots[j]){text2+=text[i]}
}
}
document.getElementById('test3').value=text2;
}
<hr />Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
en fait, il sépare les mots par des espaces, il vérifi si le mot (majuscule/minuscule confondues) est égale au un des mots "interdits", si oui il ne l'ajoute pas sinon oui.
<hr />Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
Ok pour le principe
(rectif sur un j++ au lieu de 2 i++ ligne : for(j=0;j<mots.length;i++)
mais en testant je me rends compte que les mots restant sont multipliés par xxxx ?
merci
<html><head>
<script>function ote()
{
var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc');
var text = document.getElementById('test3').value.split(" ");
var text2="";
for(i=0;i<text.length;i++){
Oui, oups... c'est pas mon jour
function ote()
{
var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc');
var text = document.getElementById('test3').value.split(" ");
var text2="";
var go=true;
for(i=0;i<text.length;i++){
for(j=0;j<mots.length;j++){
if(text[i].toLowerCase()==mots[j]){go=false}
}
if(go){text2+=text[i]}
}
document.getElementById('test3').value=text2;
}
<hr />Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
c'est sympas de me donner un exemple mais là tout s'efface
<html><head>
<script>
function ote()
{
var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc');
var text = document.getElementById('test3').value.split(" ");
var text2="";
var go=true;
for(i=0;i<text.length;i++){
for(j=0;j<mots.length;j++){
if(text[i].toLowerCase()==mots[j]){go=false}
}
if(go){text2+=text[i]}
}
document.getElementById('test3').value=text2;
}</script></head>
<textarea id=test3 cols=90>le la est donc revoir</textarea>