Just nu i M3-nätverket
Gå till innehåll

Ta bort alla mellanrum?


Jakob Nanneson

Rekommendera Poster

Hur tar jag enklast bort alla mellanrum i ett värde hämtat från MySQL?

 

Mellanrum? Beror på språket du använder datan i gissar jag. I Perl skulle jag tex göra:

 

$svar =~ s/\ //g;

 

...för att få bort alla mellanslag.

 

 

.dune.

---------------

Tempus fugit

 

Länk till kommentar
Dela på andra webbplatser

Språket är MySQL såklart :)

 

Självfallet, men i vilket språk behandlas datan sedan var min fråga...

 

 

.dune.

---------------

Tempus fugit

 

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

Det är inget språk som ska behandla datan.

 

 

Som ett exempel så fungerar If bra utan efterbehandling.

 

SELECT IF(a=a,true,false)

 

Länk till kommentar
Dela på andra webbplatser

Efter lite letande så verkar det som att en REPLACE finns som funktion i mySQL också. (Hittade inget från början...)

 

http://www.mysql.com/doc/en/String_functions.html

 

REPLACE(str,from_str,to_str)

Returns the string str with all occurrences of the string from_str replaced by the string to_str:

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');

-> 'WwWwWw.mysql.com'

This function is multi-byte safe.

 

 

.dune.

---------------

Tempus fugit

 

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

Jag tycket replace() känns ganska idiotisk, men kanske är det som i asp att den finfina funktionen delete() eller remove() inte finns. (alt TrimAll)

 

Skulle kunna se ut så här om jag önskar:

delete("text text apa text",apa)

-> "text text text"

 

Eller kanske genom att använda trim():

TrimAll(" text text ")

-> "textext"

 

Länk till kommentar
Dela på andra webbplatser

Jag tycket replace() känns ganska idiotisk, men kanske är det som i asp att den finfina funktionen delete() eller remove() inte finns. (alt TrimAll)

 

Ehoum. Jo, kanske. Jag säger inte att den är optimal på något sätt. ;) Själv föredrar jag (som jag redan demonstrerat, regular expressions. :)

 

 

.dune.

---------------

Tempus fugit

 

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

regexp får nog bli ett senare kapitel, men jag tvekar inte på att det är smidigt väl man kan det. Verkar ju gå att göra hur mycket som helst med pyttelite kod.

 

Men med tanke på koden du visade i det andra formuläret borde väl även detta problem gå att lösa MED regexp I mysql?

 

Men, tja-a, mindre viktigt när jag på att mellanrummen behövs för det jag ska göra. Då kan man ju inte hålla på att ta bort dem Men kanske bbra att veta till en annan gång... *mummla* ;)

 

 

 

[inlägget ändrat 2003-02-15 23:44:24 av Jakob Nanneson]

Länk till kommentar
Dela på andra webbplatser

Men med tanke på koden du visade i det andra formuläret borde väl även detta problem gå att lösa MED regexp I mysql?

 

Som bekant är eForums sökmotor lite vrång just nu... Jag har för mig att det finns en SQL-funktion för att just också använda regexp för att ersätta i strängar, tyvärr har jag inte den i huvudet och jag hittar inte heller något i mySQL-dokumentationen.

 

För kommandot REGEXP hör vad det ser ut som bara till SELECT och kan inte användas till att ersätta.

 

Skriker om jag hittar något annat... :)

 

 

.dune.

---------------

Tempus fugit

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...