Avatar billede wilweb Nybegynder
09. juni 2003 - 23:18 Der er 5 kommentarer og
2 løsninger

sorter i string

Jeg har en ; fil med 5 items(variabler)
"ProductNumber";Vendor;"ProductName";Category;ShowAsNews

Er der nogen der kan forklare mig hvordan jeg skal give mig i kast med at indsætte " rundt om Fx. Vendor og ShowAsNews, således at linjen kommer til at se sådanne ud:

"ProductNumber";"Vendor";"ProductName";Category;"ShowAsNews"

Det er altid  Category som ikke skal have " " omkring
Avatar billede medions Nybegynder
09. juni 2003 - 23:53 #1
Måske sådan her:

    strStreng = "ProductNumber;Vendor;ProductName;Category;ShowAsNews"
    arrStreng = Split(strStreng, ";")
   
    For i = arrStreng.LBound() To arrStreng.UBound()
        If Not i = 3 And Not InStr(arrStreng(i)) = """ Then
            strStreng = strStreng & """ & arrStreng(i) & """
        Else
            strStreng = strStreng & arrStreng(i)
        End If
    Next

(det er ikke testet!)

//>Rune
Avatar billede martin_moth Mester
10. juni 2003 - 09:00 #2
Brug Chr(34)!
Avatar billede martin_moth Mester
10. juni 2003 - 09:14 #3
Altså, med inspiration fra medions svar (der ikke duer (sorry, medions ;o), man SKAL bruge chr(34) for at indsætte et " i en string):

Dim strStreng As String
Dim arrStreng() As String
Dim strNYstreng As String
Dim i As Integer
strStreng = "ProductNumber;Vendor;ProductName;Category;ShowAsNews" '<- denne linie indlæser du vel fra en fil
arrStreng = Split(strStreng, ";")

arrStreng(1) = Chr(34) & arrStreng(1) & Chr(34)
arrStreng(4) = Chr(34) & arrStreng(4) & Chr(34)

For i = LBound(arrStreng) To UBound(arrStreng) - 1
  arrStreng(i) = arrStreng(i) & ";"
Next i

strNYstreng = arrStreng(0) & arrStreng(1) & arrStreng(2) & arrStreng(3) & arrStreng(4)
MsgBox strStreng & Chr(13) & " bliver til " & Chr(13) & strNYstreng

Nu har du ideen - så er det bare at passe til :o)
Avatar billede venne Nybegynder
10. juni 2003 - 09:25 #4
Så så, martin_moth, rolig nu. Det er rigtigt at medions' svar ikke umiddelbart virker, men det er altså ikke kun Chr(34) der dur. Man kan også skrive:

sStreng = """" & sStreng & """"

Altså med dobbelt-" i en strengkonstant. Det er lidt en kæphest hos mig at man ikke skal bruge Chr() hvis der er en anden måde at skrive det på, ligesom vbLf i stedet for Chr(10). Det er mere læseligt og selvdokumenterende, imo.
Avatar billede martin_moth Mester
10. juni 2003 - 09:30 #5
venne: Så lærte jeg også noget i dag :o)
Netop chr(10), chr(13) og chr(34) bruger jeg altid - når man har lært dem synes jeg det øger(!) læsevenligheden. Nok en smagssag :o)

medions/gizom: Sorry, at jeg skrev at man SKAL bruge chr(34). Dummeslag til mig...
Avatar billede wilweb Nybegynder
10. juni 2003 - 17:22 #6
ÅK, det ser godt ud. Ingen dumme slag fra min side :>
Jeg prøver det lige af.
Gizom
Avatar billede wilweb Nybegynder
10. juni 2003 - 20:54 #7
det virker fint, deler point i mellem jer håber det er ok!
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