Discussione:
StringReplace
(troppo vecchio per rispondere)
Stark
2020-11-16 17:52:28 UTC
Permalink
Faccio un esempio semplice: Ho una stringa così:
'CASA','CASA2'
Voglio sostituire CASA con HOME e CASA2 con OFFICE

StringReplace trova CASA e la sostituisce correttamente con HOME, ma
sostituisce anche CASA2 con HOME per cui il risultato è:
'HOME','HOME2'

C'è un rimedio ? O un'altra soluzione ?
ca75
2020-11-16 21:26:13 UTC
Permalink
Post by Stark
'CASA','CASA2'
Voglio sostituire CASA con HOME e CASA2 con OFFICE
StringReplace trova CASA e la sostituisce correttamente con HOME, ma
'HOME','HOME2'
C'è un rimedio ? O un'altra soluzione ?
Se è possibile parti a sostituire dalla stringa più lunga. in questomodo
casa2 diventa office e casa diventa home.
--
-------------------------------
per scrivere in privato
togliere "1975nosp"

to reply remove "1975nosp"
Daniele
2020-11-17 08:25:00 UTC
Permalink
Ciao,
Post by Stark
'CASA','CASA2'
Voglio sostituire CASA con HOME e CASA2 con OFFICE
StringReplace trova CASA e la sostituisce correttamente con HOME, ma
'HOME','HOME2'
C'è un rimedio ? O un'altra soluzione ?
Questo problema, se noti, esiste anche nell'ide (qualsiasi versione).
Se dici di sostituire una stringa con un'altra esso sostituira' TUTTO
quello che trova, anche parzialmente, con il sostituto.

Devi trovare un modo per rendere la sostituzione"mirata" come suggerito
da ca75.

Ciao
Daniele
Stark
2020-11-18 18:27:52 UTC
Permalink
Una buona idea quella di ca75. Proverò

"Stark" ha scritto nel messaggio news:roue8p$mbb$***@gioia.aioe.org...

Faccio un esempio semplice: Ho una stringa così:
'CASA','CASA2'
Voglio sostituire CASA con HOME e CASA2 con OFFICE

StringReplace trova CASA e la sostituisce correttamente con HOME, ma
sostituisce anche CASA2 con HOME per cui il risultato è:
'HOME','HOME2'

C'è un rimedio ? O un'altra soluzione ?
Daniele
2020-11-20 11:15:37 UTC
Permalink
Ciao,
Post by Stark
Una buona idea quella di ca75. Proverò
'CASA','CASA2'
Voglio sostituire CASA con HOME e CASA2 con OFFICE
StringReplace trova CASA e la sostituisce correttamente con HOME, ma
'HOME','HOME2'
C'è un rimedio ? O un'altra soluzione ?
come ha suggerito ca75, la soluzione la devi trovare tu ....
Io farei una sostituzione "mirata" sulla parola chiave.
Nel senso hai Casa e Casa2, la sostituzione funziona solo su Casa,
controlli che Casa ha uno spazio, un carattere speciale (spazio,
virgola, punto ecc...) davanti alla C e dopo la A (finale).
Se si sostituisci.

Sicuramente c'e' gia' chi ha pensato questo per noi, ed infatti e' cosi'

Qui hai la funzione

http://codeverge.com/embarcadero.delphi.general/stringreplace-with-a-whole-word-on/1063318

Non e' attualissima ed e' certamente ottimizzabile, ma puoi partire da li.

Spero ti sia utile ...

Ciao

Daniele
Stark
2020-11-20 17:05:05 UTC
Permalink
Cavolo, come hai fatto a trovare questo riferimento? Io avevo cercato un bel
pò prima di chiedere. Grazie

"Daniele" ha scritto nel messaggio news:rp88go$n5o$***@gioia.aioe.org...

Ciao,
Post by Stark
Una buona idea quella di ca75. Proverò
'CASA','CASA2'
Voglio sostituire CASA con HOME e CASA2 con OFFICE
StringReplace trova CASA e la sostituisce correttamente con HOME, ma
'HOME','HOME2'
C'è un rimedio ? O un'altra soluzione ?
come ha suggerito ca75, la soluzione la devi trovare tu ....
Io farei una sostituzione "mirata" sulla parola chiave.
Nel senso hai Casa e Casa2, la sostituzione funziona solo su Casa,
controlli che Casa ha uno spazio, un carattere speciale (spazio,
virgola, punto ecc...) davanti alla C e dopo la A (finale).
Se si sostituisci.

Sicuramente c'e' gia' chi ha pensato questo per noi, ed infatti e' cosi'

Qui hai la funzione

http://codeverge.com/embarcadero.delphi.general/stringreplace-with-a-whole-word-on/1063318

Non e' attualissima ed e' certamente ottimizzabile, ma puoi partire da li.

Spero ti sia utile ...

Ciao

Daniele
Daniele
2020-11-21 17:30:26 UTC
Permalink
Ciao,
Post by Stark
Cavolo, come hai fatto a trovare questo riferimento? Io avevo cercato un
bel pò prima di chiedere. Grazie
google, delphi precision match string replace (o simile)

Ciao

Buon fine settimana

Daniele

Loading...