Regex ruby


#1

Bonjour, je souhaiterais connaitre la méthode pour enlever les espaces
dans une phrase et les remplacer par un caractère arbitraire.

Par exemple :
colonne1 colonne2 colonne3

je voudrais avoir cela comme résultat :
colonne1;colonne2;colonne3

j’ai bien essayé un
String.gsub(/\s{1,}/, “;”)

mais ca me donne ca en résultat
colonne1;;;;colonne2;colonne3;

en gros j’aimerais remplacer tous mes espaces par un point virgule
mais seulement à l’intérieur des lignes sans modifier le début et fin
de lignes (\r\n,…)

Merci de votre aide par avance.

Sai


#2

Ta méthode me semble bonne sur le principe, mais elle n’a pas l’air
“greedy”. De plus, {1,} c’est censé être la même chose que + en regexp
ruby.

Je viens d’essayer :
“colonne1 colonne2 colonne3”.gsub(/\s+/, ‘;’)

Et j’obtiens :
“colonne1;colonne2;colonne3”

Peut-être que la syntaxte à {} n’est pas greedy alors que le + l’est. En
tout cas essayer comme ça…


Michel B.


#3

Merci de ton aide.

En effet, fait comme ca le résultat attendu est correct.

C’est bizarre (enfin non c’est meme plutot logique…) parce-que moi
les lignes je les récupère à partir d’un fichier texte avec des
retours chariots (\n) en faisant :

f.gsub(/\s+/, “”)
les espaces sont remplacé par les guillemets mais les retours a la
lignes sont supprimés => tout est collé
(f représente un fichier texte en local sur mon disque)

Ce que j’ai fait c’est de mettre mon gsub dans le block d’un each_line
=> regex ok + retour a la ligne comme dans l’original…

On 13 oct, 14:55, “Michel B.” removed_email_address@domain.invalid


#4

Non, ce n’est pas anormal. En regexp ruby, “\s” matche tout caractère
vide,
retour à la ligne et tabulation comprises. Si tu veux matcher seulement
des
espaces, tu peux faire / +/ tout simplement.

Michel B.


#5

Le 13 octobre 2008 14:55, Michel B. a écrit :

Peut-être que la syntaxte à {} n’est pas greedy alors que le + l’est. En
tout cas essayer comme ça…

    • {,} sont greedy ; dans tous les cas on rajoute ? pour que ce
      soit non-greedy :

a*?
a+?
a{1,}?
a{2,3}?

--- Jean-François.


Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_


#6

(et effectivement je viens de vérifier à la main, sans “?” c’est bien
greedy
par défaut ; je ne sais pas comment il a fait pour se retrouver avec
tous
ces “;” en trop du coup)


Michel B.


#7

…vraiment merci…c’est plus clair comme ça…

On 13 oct, 15:16, “Michel B.” removed_email_address@domain.invalid


#8

Le 13 octobre 2008 15:59, Michel B. a écrit :

(et effectivement je viens de vérifier à la main, sans “?” c’est bien greedy
par défaut ; je ne sais pas comment il a fait pour se retrouver avec tous
ces “;” en trop du coup)

Il y a parfois une différence entre ce que ceux qui posent une question
ont fait, et la manière dont ils expose le problème auquel ils sont
confronté :

je ne vois pas d’où sort le String.gsub

Du coup, on se méfie de ce qu’ils racontent…

-- Jean-François.


Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_


#9

S’il faut se méfier des patients maintenant, dr. House…


Michel B.


#10

2008/10/13 Michel B. removed_email_address@domain.invalid

S’il faut se méfier des patients maintenant, dr. House…

C’est un lupus.

Ok… ----> []


#11

Le 13 octobre 2008 16:38, Jean-François Trân removed_email_address@domain.invalid a
écrit
:

Jamais vu Dr House, ni Grey’s Anatomy d’ailleurs… je rate quelque
chose ? J’aimais bien les premières saisons d’Urgences, mais je
me suis lassé.

Dr House c’est sympa, un peu répétitif mais amusant avec de bons
dialogues
bien caustiques. C’est moins une série médicale qu’une série policière,
et
il y a beaucoup de clins d’oeil aux classiques du genre (dont l’oeuvre
de
Conan Doyle). Rien à voir avec Urgences dans tous les cas (les séries
médicales en général me barbent).


Michel B.


#12

Le 13 octobre 2008 16:23, Michel B. a écrit :

S’il faut se méfier des patients maintenant, dr. House…

Jamais vu Dr House, ni Grey’s Anatomy d’ailleurs… je rate quelque
chose ? J’aimais bien les premières saisons d’Urgences, mais je
me suis
lassé.
Sinon l’analogie avec les patients n’est pas acceptable àmha.
Un docteur, s’il peut écouter ce que dit un patient, va surtout
pouvoir ausculter, palper le patient pour vérifier par lui-même,
alors que là les informations plus ou moins parcellaires, plus
ou moins complètes, plus ou moins exactes, avec ou sans
code (ici la seule ligne de code est fausse !) proviennent de l’OP.

-- Jean-François.


Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_


#13

2008/10/13 Michel B. removed_email_address@domain.invalid

Dr House c’est sympa, un peu répétitif mais amusant avec de bons dialogues
bien caustiques. C’est moins une série médicale qu’une série policière, et
il y a beaucoup de clins d’oeil aux classiques du genre (dont l’oeuvre de
Conan Doyle). Rien à voir avec Urgences dans tous les cas (les séries
médicales en général me barbent).

Je ne partage pas tout à fait ton avis, Michel. House MD est un peu plus
réaliste qu’ER pour ce qui est des diagnostiques. Ce qui est
surréalistes,
c’est de voir les médecins faire eux-mêmes les prises de sang et les
analyses :slight_smile:

Par contre c’est presque insupportable de regarder cette série avec un
membre du corps médical à coté de soi: sauf les cas absoluments
saugrenus,
ma femme trouve sovuent le bon diagnostique avant House :slight_smile:

Pour Jean-François, dans le cas de la série House, le parallèle est
valable:
ce médecin refuse quasi systématiquement de rencontrer le patient,
justement
pour ne pas être “parasité” par les mensonges ou l’environnement du
patient,
et se contenter des faits relevé par son équipe. Tu devrais jeter un
oeil
aux 3 premiers épisodes de la saison 1, ça vaut le détour.

Qui a dit Hors-Sujet? :slight_smile:


#14

Jamais vu Dr House, ni Grey’s Anatomy d’ailleurs… je rate quelque

chose ? J’aimais bien les premières saisons d’Urgences, mais je
me suis lassé.

En ce qui concerne Dr House :

Points commun avec urgences :

  • omniprésence de la technique médicale
  • personnages attachants qu’on suit tout au long des épisodes
  • bonne série Ricaine ou tout est léché : acteurs, réalisation, photo
    etc.

Points divergents :

  • il y a UN héro (le Dr House, qui se trouve être un conard fini mais
    bon,
    c’est le charme de la série)
  • le thème est différent (il n’y a plus vraiment d’urgences, il y a
    plutot
    des cas complètement tordus que seul le Dr House est assez intelligent
    pour
    élucider)

Bref c’est une bonne série, comme en ce moment il y en a un paquet (et
Grey’s Anatomy a l’air d’être du meme topo).

Et pour ceux qui veulent un série médicale mais bien décalée et très
rigolote, je ne peux que conseiller Scrubs (((-:

</gros HS>


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#15

Je ne partage pas tout à fait ton avis, Michel. House MD est un peu plus
réaliste qu’ER pour ce qui est des diagnostiques. Ce qui est surréalistes,
c’est de voir les médecins faire eux-mêmes les prises de sang et les
analyses :slight_smile:

Heu, je ne croyais pas avoir parlé du réalisme (qui pour moi est
complètement accessoire d’ailleurs, je ne regarde pas la série pour
prendre
des cours de médecine non plus)…

Par contre c’est presque insupportable de regarder cette série avec un
membre du corps médical à coté de soi: sauf les cas absoluments saugrenus,
ma femme trouve sovuent le bon diagnostique avant House :slight_smile:

Sauf si comme pour moi l’attrait de la série ne repose pas vraiment sur
le
diagnostique mais plus pour les situations dans lesquelles les
personnages
vont évoluer. Le diagnostique n’est plus alors qu’un genre de prétexte
pour
présenter l’histoire des personnages et les dialogues, ce que j’apprécie
dans cette série. En fait, j’aimerais bien voir House avec un membre du
corps médical (qui ait le sens de l’humour) pour ma part, pour ironiser
sur
les trucs un peu gros…

Qui a dit Hors-Sujet? :slight_smile:

Bah, en même temps c’était une question sur les regexp. On peut tout
faire
avec des regexp v^^v.


Michel B.


#16

Le 13 octobre 2008 17:13, ook? ook! a écrit :

Pour Jean-François, dans le cas de la série House,
le parallèle est valable:
ce médecin refuse

Ah mais c’est pas qu’on refuse, c’est que c’est pas
forcément possible, si un Niçois pose une question,
on va pas se déplacer chez lui pour régler le problème.
C’est de la communication à distance.

Un cas analogue serait plutôt un médecin qui
fait des consultations en répondant à des mails de patients,
ce qui n’est pas trop la vocation d’un médecin…

quasi systématiquement de rencontrer le patient,
justement pour ne pas être “parasité” par les mensonges
ou l’environnement du patient,

ah mais je veux bien me fier aux infos filées par l’OP,
c’est soit il ne donne pas suffisamment d’infos sur le contexte
pour qu’on puisse répondre à la question, soit il ne fournit
pas le Code Minimal Pour Reproduire le Problème (CMPRP),
soit on n’a pas le message d’erreur.

Si on pouvait être derrière la chaise de l’OP, on pourrait
voir facilement : l’OS utilisé, le SGBDR utilisé (là il y a quelqu’un
qui a parlé d’autoincrement, donc on devine qu’il utilise MySQL,
mais s’il le disait directement, on perdrait moins de temps à jouer
aux devinettes), prendre le clavier pour vérifier la version
de Ruby et de Rails ET pouvoir voir le code.

Des fois on a des infos sur le contexte, mais en fait on s’en fout
“Ouais alors j’ai 19 ans, je viens d’avoir mon Bac, je fais une
appli Rails pour ma soeur, j’aime bien Tony Parker blablabla…”
Super. Il est où le CMPRP ?

et se contenter des faits relevé par son équipe.

Je ne sais pas pour vous, mais moi j’ai pas d’équipe qui va
tirer les vers du nez de l’OP.

C’est juste que parfois, après avoir lu le laius exposant
le problème, on ne sait toujours pas le nom exact des
modèles, les relations (bon alors, c’est un has_many ?)
et qu’il faut jouer aux devinettes, ça peut être agaçant.

Inversement, si on a le code mais il est parasité par pleins
de détails dont on a que faire car ils sont sans rapport
avec le pb, (bref si on a pas le CMPRP :slight_smile: ) ça peut
indisposer aussi.

Tu devrais jeter un oeil aux 3 premiers épisodes de la
saison 1, ça vaut le détour.

Ben j’essaierai de voir en entier un épisode qui passe à
la télé.

De toutes façons, j’ai mis pas mal d’années avant de m’intéresser
à 24 heures. Alors…

– Jean-François.

PS. Sinon comme série médicale US sans prétentions, j’aime
NIH Alertes Médicales, un peu comme Dr House, ça se
rapproche plus de l’enquête policière (quelle est l’origine de
cette épidémie soudaine ?) + crédibilité scientifique à la “Les Experts”,
très contemporaine dans cette époque post-11 septembre
où plane une paranoïa sanitaire (anthrax, SRAS, H5N1…)


Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_


#17

Le 13 octobre 2008 17:22, Michel B. a écrit :

les trucs un peu gros…
Un peu comme pour moi (nous ?) qui regarde comment l’informatique
est utilisée dans les séries télé ou les films. Qui se souvient des
Petits Génies ou le film Wargames dans les années 80. Aahh le
“Il faut prévenir les gens d’Internet” de Scully dans X-Files… Le
geek dans Jurassic Park.

– Jean-François (diagnostic)


Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_


#18

(tout ça pour un petit clin d’oeil à l’origine sans prétention sur une
série
télé…)

PS. Sinon comme série médicale US sans prétentions, j’aime
NIH Alertes Médicales, un peu comme Dr House, ça se
rapproche plus de l’enquête policière (quelle est l’origine de
cette épidémie soudaine ?) + crédibilité scientifique à la “Les Experts”,
très contemporaine dans cette époque post-11 septembre
où plane une paranoïa sanitaire (anthrax, SRAS, H5N1…)

Dans le même genre, un truc canadien très sympa (et cette fois
intéressant
aussi du point de vue scientifique) : ReGenesis.
Les 2 premières saisons sont déjà passées sur Arte l’année dernière.


Michel B.


#19

Un peu comme pour moi (nous ?) qui regarde comment l’informatique
est utilisée dans les séries télé ou les films.

Vi ^^


Michel B.


#20

The IT crowd, on m’en a beaucoup parlé en très bien. Il faut vraiment
que je
m’y mette…


Michel B.