Avatar billede pelskee Nybegynder
06. november 2006 - 19:09 Der er 10 kommentarer og
1 løsning

trække x antal bogstaver fra 3 ord i samme felt

jeg fik hjælp til at tage 2 bogstaver fra 3 ord i samme felt - men nu har jeg behov for at trække forskellige antal bogstaver alt efter hvilket ord det er.

oprindelig spørgsmål
http://www.eksperten.dk/spm/742947

produkt navn 1: 'samsung lcd - r32m21'
produkt navn 2: 'lg tv & video'

udtræk skal være 4 karakterer fra første ord, 3 fra andet ord og 2 fra tredje ord - men alle special karakterer skal ikke medtages ligesom mellemrum ikke. Hvis der ikke er 3 karakterer skal den bare tage det som er.

Eksempel på udtræk med ovenstående produkter:
1: 'samslcdr3'
2: 'lgtvvi'
Avatar billede thesurfer Nybegynder
06. november 2006 - 19:28 #1
p = "samsung lcd - r32m21" ' test
' p = "lg tv & video" ' test

' fjern specialtegn:
p = replace(p, "-", "")
p = replace(p, "&", "")

p = trim(p) ' fjern overflødige mellemrum

p = split(p, " ") ' split strenge op ved mellemrum

a = left(p(0), 4)
b = left(p(1), 3)
c = left(p(3), 2)

response.write a & " " & b & " " & c ' fjern mellemrum for at se ordet uden mellemrum :-)
Avatar billede thesurfer Nybegynder
06. november 2006 - 19:30 #2
Som funktion:

function henttegn(data)

' fjern specialtegn:
data = replace(data, "-", "")
data = replace(data, "&", "")

data = trim(data) ' fjern overflødige mellemrum

data = split(data, " ") ' sdatalit strenge odata ved mellemrum

a = left(data(0), 4)
b = left(data(1), 3)
c = left(data(3), 2)

henttegn = a & b & c
end function

response.write henttegn("samsung lcd - r32m21")
response.write "<br>"
response.write henttegn("lg tv & video")
Avatar billede pelskee Nybegynder
06. november 2006 - 22:06 #3
lir - det spiller - men den fejler hvis der ikke er 3 ord:
Microsoft VBScript runtime error '800a0009'

Subscript out of range: '[number: 3]'

/csv_export/products.asp, line 16
Avatar billede thesurfer Nybegynder
06. november 2006 - 22:13 #4
Hmm.. kigger lige på det..
Avatar billede thesurfer Nybegynder
06. november 2006 - 22:25 #5
Sådan:

function henttegn(data)

' fjern specialtegn:
data = replace(data, "-", "")
data = replace(data, "&", "")

data = split(data, " ") ' split strenge odata ved mellemrum

dim i, tmp
tmp = ""
' fjerne tomme elementer i arrayet:
for i = 0 to ubound(data)
    if data(i) <> "" then tmp = tmp & data(i) & "^"
next
tmp = left(tmp, len(tmp) - 1)

data = split(tmp, "^")

dim a, b, c
a = ""
b = ""
c = ""

if ubound(data) >= 0 then a = left(data(0), 4)
if ubound(data) >= 1 then b = left(data(1), 3)
if ubound(data) >= 2 then c = left(data(2), 2)

henttegn = a & b & c
end function

response.write henttegn("samsung lcd -  r32m21")
response.write "<br>"
response.write henttegn("lgtv & video")
Avatar billede pelskee Nybegynder
07. november 2006 - 09:16 #6
fedt mand - det spiller

lige en sidste ting - hvordan fjerner man " gåseøjne ?
data = replace(data, """, "") - den går vel ikke :)
Avatar billede pelskee Nybegynder
07. november 2006 - 09:40 #7
der er en lille bug: http://www.emeyu.com/csv%5Fexport/products.asp

produkt: teacglacup–

fuldt navn: glass cup – hand crafted

det skal være: teaglacupha
Avatar billede thesurfer Nybegynder
07. november 2006 - 10:52 #8
Fjernelse af gåseøjne: data = replace(data, """", "") eller data = replace(data, Chr(34), "")

Jeg gik ud fra, at der kun var 3 stumper, i det du skrev:

"udtræk skal være 4 karakterer fra første ord, 3 fra andet ord og 2 fra tredje ord"

Der kan jeg ikke se et 4. ord.. :-)
Avatar billede thesurfer Nybegynder
20. november 2006 - 08:45 #9
Hvordan kommer vi videre?

Jeg har ikke excel filen mere, så jeg kan ikke se produktet..

Jeg kan ikke se sammenhænget mellem 07/11-2006 09:40:29 og dit oprindelige spørgsmål, og de andre produkter (f.eks. "samsung lcd -  r32m21")..
Avatar billede pelskee Nybegynder
20. november 2006 - 09:19 #10
my bad- sorry. du har løst mit problem har glemt at lukke og give point. det må du undskylde
Avatar billede thesurfer Nybegynder
20. november 2006 - 09:29 #11
Helt iorden.. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester