Newsgroup: it.comp.lang.delphi
Titolo: estrazione dati da stringa

Mi ritrovo a dover manipolare delle stringhe che rappresentano una
sequenza di nomi propri di persona, il problema è che la coppia
nome/cognome può essere separata da qualsiasi segno come , / - ; \ $
ecc... Per esempio "Paolo Rossi\Mario Della Valle\Mario Bruno Bianchi"
Oppure "Paolo Verdi - Mario Piero Neri - Mario Franco Bruni". Fin qui
comunque me la potevo cavare con un controllo sugli insiemi [a..z] [A..Z],
ma il problema che non riesco a risolvere è che ho spesso nomi stranieri
con caratteri ascii estesi, tipo la 'o' e la 'u'con due puntini sopra, la
n spagnola e la ç, che non riesco a intercettare, più tutte le lettere
accentate.
Siete a conoscenza di un metodo furbo e veloce per estrarre da una stringa
come
'Paolo Pelù; Igor Børs'
una TStringList che contiene
'Paolo Pelù'
'Igor Børs'
Grazie per l'attenzione.
-- 
Always remember you're unique
just like everyone else. 

 'Igor Børs'
Puoi provare ad usare ExtractStrings oppure delle espressioni regolari.
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 nome/cognome può essere separata da qualsiasi segno come , / - ; \ $
*Qualsiasi* segno? E tu non hai modo di sapere prima qual è questo segno?
-- 
Jax
====
I medici lo davano per spacciato. Salvo complicazioni.

 segno?
Purtroppo no, altrimenti avrei già risolto. A volte sono stringhe
scaricate da internet, da vari siti, e ogni sito usa un metodo diverso. Ma
spesso la stringa viene inserita direttamente dall'utente, e sappiamo bene
:-))) che alla fantasia dell'utente non si possono porre limiti, quindi
_devo_ tener conto di tutte le possibilità. ;) Vi spiego meglio: è un
programmino di database per film, e ho un campo che prende i dati da un
edit di input per gli attori principali, che di solito venivano inseriti
come "Gino Pippo, Alessio Tosto, Pippo Pluto". O anche "Gino Pippo /
Alessio Tosto / Pippo Pluto". Ecc... Ora mi viene richiesto di fare una
ricerca di tutti i film in cui compare un determinato attore, a partire da
quelli presenti nel film selezionato. Finora l'unica idea che mi è venuta
è quella di verificare l'insieme ([a..z], [A..Z], ' ') e se non compreso,
trattasi di separatore. Ma mi scappano i caratteri stranieri. Avete
presente ðøßç... Aspetto ancora un po se viene in mente a qualcuno
un'idea migliore, poi mi arrangerò :)


 un'idea migliore, poi mi arrangerò :)
Potresti basarti sul principio logico che non esistano nomi/cognomi di una
sola lettera.
Supponi di caricare il tuo input in una stringlist: in ogni riga avresti le
parole già scomposte. Nelle righe con una sola lettera, potrebbe essere più
semplice scartare le lettere che fungono da congiiunzione. ad esempio
(&,e,+,and)
Con questo metodo molto grossolano ma efficace troverai sempre mel gibson,
ma potresti avere difficoltà con attori come "Rossella Or", attrice romana
degli anni 70.
Se questo non dovesse bastare, allora potresti cercare un motore vero e
proprio, o scriverlo, ma non mi sembra essere semplice.
Ad ogni modo, io frequento spesso imdb: 
http://imdb.com/
Se leggi i tips di ricerca 
http://imdb.com/Help/search-tips
 ti puoi fare
una piccola idea di come siano articolati questi search engines.
Ciao!!!
-- 
Morde. 
ICLDweb: 
http://www2.samatel.com/icld/

sola lettera.
"Logico" per chi ? In Cina esistono eccome.

 "Logico" per chi ? In Cina esistono eccome.
Spero che il "fonema" non si riconduca ad una consonante. :-D
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 Spero che il "fonema" non si riconduca ad una consonante. :-D
Sorry ma avendo laforgia nel killfile non riesco a seguire tutta la
questione, probabilmente ha ragione sul fatto che gli orientali potrebbero
essere un problema, ma come avevo gia' detto e' meglio a questo punto
cercarsi un motore già sviluppato in tal guisa...
Ciao!


 cercarsi un motore già sviluppato in tal guisa...
Questa l'hai detta tanto per dare aria ai denti ;-)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Basta ke trovi il numero decimale corrispondente di questi caratteri
ascii, e poi con un ord trasformi anche i caratteri della stringa e
confronti!!!
Ciao
Nicola
--- posted by geoForum on 
http://www.delphiedintorni.it