Avatar billede axkris Nybegynder
28. august 2003 - 10:01 Der er 6 kommentarer og
1 løsning

Klip og ændre i streng

Hej

Jeg har f.eks. følgende streng:

Ole, Søren, Mads, Peter,

Som gerne skal blive til:

Ole, Søren, Mads og Peter

Altså det andet sidste komma laves om et et "og" og det sidste komma slettes. Hvordan gøres det?
Avatar billede ldanielsen Nybegynder
28. august 2003 - 10:05 #1
ArrNavne = Split(text, ", ")
delim = ", "
for i = 0 to Ubound(ArrNavne - 1)
  if i = Ubound(ArrNavne - 2) then delim = " og "
  strOut = strOut & delim
next
Avatar billede ldanielsen Nybegynder
28. august 2003 - 10:06 #2
Rettelse:

ArrNavne = Split(text, ", ")
delim = ", "
for i = 0 to Ubound(ArrNavne - 1)
  if i = Ubound(ArrNavne - 2) then delim = " og " 
  if i = Ubound(ArrNavne - 1) then delim = ""

  strOut = strOut & ArrNavne(i) & delim
next
Avatar billede ldanielsen Nybegynder
28. august 2003 - 10:08 #3
Rettelse:
text = "Ole, Søren, Mads, Peter,"
text = Replace(text, ", ", ",")
ArrNavne = Split(text, ",")
delim = ", "
for i = 0 to Ubound(ArrNavne - 1)
  if i = Ubound(ArrNavne - 2) then delim = " og " 
  if i = Ubound(ArrNavne - 1) then delim = ""

  strOut = strOut & ArrNavne(i) & delim
next
Avatar billede axkris Nybegynder
28. august 2003 - 10:13 #4
Type mismatch
/test.asp, line 6

<%
text = "Ole, Søren, Mads, Peter,"
text = Replace(text, ", ", ",")
ArrNavne = Split(text, ",")
delim = ", "
for i = 0 to Ubound(ArrNavne - 1)
  if i = Ubound(ArrNavne - 2) then delim = " og " 
  if i = Ubound(ArrNavne - 1) then delim = ""

  strOut = strOut & ArrNavne(i) & delim
next

response.write strOut
%>
Avatar billede axkris Nybegynder
28. august 2003 - 10:15 #5
Blot til orientering så er værdien "Ole, Søren, Mads, Peter, " og ikke "Ole, Søren, Mads, Peter," (altså også et mellemrum efter det sidste komma)). Ydremere, vil script også kunne gøre det, hvis der kun var tale om 3 navne?
Avatar billede ldanielsen Nybegynder
28. august 2003 - 10:22 #6
Sorry:

text = "Ole, Søren, Mads, Peter, "
ArrNavne = Split(text, ", ")
delim = ", "
for i = 0 to Ubound(ArrNavne) - 1
  if i = Ubound(ArrNavne) - 2 then delim = " og " 
  if i = Ubound(ArrNavne) - 1 then delim = ""

  strOut = strOut & ArrNavne(i) & delim
next

response.write strOut

Så vidt jeg kan se,vil det virke for alle antal
Avatar billede axkris Nybegynder
28. august 2003 - 10:25 #7
Mange tak for hjælpen :-)
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

IT-JOB

Capgemini Danmark A/S

Client Partner

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer