Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1022 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  suppression d'une partie de chaine de caractère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

suppression d'une partie de chaine de caractère

n°1373549
_kick_
Posté le 23-05-2006 à 19:52:03  profilanswer
 

bonjour,  
j'ai un petit problème à réaliser. J'ai un fichier avec des informations perdues au milieu de plein de bordel
 
en gros :
 
Information {plein de bordel} Information {plein de bordel} Information {plein de bordel}
 
Donc en gros il faudrait que je vire ce qui se trouve entre les {}, je suppose cela assez facile, mais comme je n'ai pas touché à la prog depuis la nuit des temps, je galère pas mal. J'ai a ma disposition php ou javascript au choix.
 
Sachant que le fichier pèse 16Ko voir plus et qu'il passera à 1Ko au plus.
 
merci par avance pour votre aide

mood
Publicité
Posté le 23-05-2006 à 19:52:03  profilanswer
 

n°1373562
FlorentG
Unité de Masse
Posté le 23-05-2006 à 20:03:43  profilanswer
 

Avec une expression régulière c'est tout con, mais il faudrait nous filer le contenu du fichier pour voir

n°1373563
_kick_
Posté le 23-05-2006 à 20:07:07  profilanswer
 

DOMINIQUE {\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1036\deftab708{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\fnil\fcharset0 MS Shell Dlg;}}
\viewkind4\uc1\pard\nowidctlpar\qc\lang1036\f0\fs20  1\f1\fs17\par
}
 ROUGE      {\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1036{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f83\froman\fcharset238\fprq2 Times New Roman CE;}{\f84\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f86\froman\fcharset161\fprq2 Times New Roman Greek;}{\f87\froman\fcharset162\fprq2 Times New Roman Tur;}
{\f88\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f89\fswiss\fcharset238\fprq2 Arial CE;}{\f90\fswiss\fcharset204\fprq2 Arial Cyr;}{\f92\fswiss\fcharset161\fprq2 Arial Greek;}{\f93\fswiss\fcharset162\fprq2 Arial Tur;}
{\f94\fswiss\fcharset186\fprq2 Arial Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;
\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\nowidctlpar\widctlpar\adjustright \fs20\lang1036\cgrid \snext0 Normal;}{\*
\cs10 \additive Default Paragraph Font;}}\margl1417\margr1417\margt1417\margb1417 \deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\formshade\pgbrdrhead\pgbrdrfoot \fet0\sectd \linex0\headery709\footery709\colsx709\sectdefaultcl {\*\pnseclvl1
\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5
\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \qc\nowidctlpar\adjustright \fs20\lang1036\cgrid {\b\f1\fs24\cgrid0  1}{\f1\fs24\super\cgrid0 er  .}{\b\f1\fs24  
\par }} 7 950
 
en gros faudrait que ca me sorte :
DOMINIQUE ROUGE 7950
 
je ne pense pas que ca soit bien dur mais je trouve pas ce que je cherche sur le net

n°1373568
_kick_
Posté le 23-05-2006 à 20:20:26  profilanswer
 

en fait l'idéal serait je pense de chercher le caractère "}" et une fois celui la trouver, de revenir juste avant histoire de trouver le "{" et de supprimer les trucs qu'il y a au milieu.
 
et recommencer jusqu'à ne plus trouver "}"
 
while(trouver(}))
{
trouver({) en partant de }
supprimer({,});
}
 
ca doit etre assez faisable.

n°1373620
sielfried
Posté le 23-05-2006 à 22:03:45  profilanswer
 

Code :
  1. preg_replace('#\{((?>[^{}]+)|(?R))*\}#', '', $string);


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1373657
_kick_
Posté le 23-05-2006 à 22:59:41  profilanswer
 

je peux pas repondre la je suis pas au boulot mais si ca marche, un grand merci à toi.

n°1373743
mIRROR
Chevreuillobolchévik
Posté le 24-05-2006 à 09:00:46  profilanswer
 

sielfried a écrit :

Code :
  1. preg_replace('#\{((?>[^{}]+)|(?R))*\}#', '', $string);



 
 
c est magnifique tellement j y comprends rien :d


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  suppression d'une partie de chaine de caractère

 

Sujets relatifs
tout sauf une chaîne dans un egexpmettre un int dans une chaine unsigned char *chaine
javascript : test sur chaine de caractere[.net c++] chaine de caractère
Récupérer une chaîne de caractère dans un fichierconvertir une chaine en date en php
Calendrier avec liens qui s'affichent sur une partie précise d'un site 
Plus de sujets relatifs à : suppression d'une partie de chaine de caractère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR