29. juli 2004 - 14:37Der er
16 kommentarer og 1 løsning
Fjern tekst fra streng
HeY! Så er det igen blevet tid til at dele point ud :D Idag skal vi finde ud af hvordan man piller en stump ud af en tekst.
Hvis jeg har teksten "Jensen#Denmark#KnupSkull#Russia#Buller#Sweden" Hvordan piller jeg så KnupSkull#Russia ud af teksten? Hvis KnupSkull er den første i teksten, skal den også pille "#" ud efter Russia, og hvis det var den sidste, skal den ikke efterlade nogen "#"'er efter strengen. Når så KnupSkull#Russia, står inde midt i teksten, skal enten det første # pilles ud, eller det sidste...
Hmm... Altså, jeg tilføjer brugere som joiner en chat til den liste... Her er scriptet som jeg bruger til at tilføje brugere med:
Public Function ChattersListAdd(User As String, Country As Variant) If ChattersList = "" Then ChattersList = User & "#" & Country Else ChattersList = ChattersList & "#" & User & "#" & Country End If End Function
Og sådan her ser mit "remove" script ud nu:
Public Function ChattersListRemove(User As String, Country As Variant) ChattersList = "#" & ChattersList & "#" ChattersList = Replace(ChattersList, User & "#" & Country, "") ChattersList = Replace(ChattersList, "##", "#") ChattersList = Mid(ChattersList, 2, Len(ChattersList) - 2) End Function
Men hvis du har nogle bedre idéer til hvordan det skal gøres, er jeg fuldt ud åben overfor idéer... Jeg er ret ny i VB, og skal derfor lige lære det meste af det :D Men jeg ved dog hvordan arrays fungerer :o)
Hmm... Hvis jeg havde en funktion til at se om "BlaBla#China" var den første eller sidste i strengen, ville det gøre det nemt at fjerne med Replace(), for så ved jeg jo hvor mange #'er jeg skal flytte, og hvor fra...
glemte Len(), Lcase(), Ucase(), og måske Chr() og Asc(), der også er nyttig.
Eksempel:
Denne kode finder de 3 bogstaver foran det bageste "w" i en sætning (hvad man så skal bruge det til):
Dim i as long Dim strTest as string strTest = "h h dg drtert w rdge w gtht w qwq"
if instr(1,strtest,"w") = 0 then msgbox "Der er intet w i din string" exit sub For i = len(strtest) to 1 step -1 if mid(strtest,i,1) = "w" then msgbox "Tegnet foran sidste w er " & mid(strtekst,i-3,3) exit for end if next i
Hm... Ville det aller nemmeste ikke være at tjekke om det startede med den stump teks, eller sluttede med det? for hvis at det er i midten kan jeg jo bare fjerne et # efter den stump tekst som skal fjernes....
Der findes nogle freeware programmer til at lave VB.NET med... SharpDev eller sådan noget..
Synes godt om
Ny brugerNybegynder
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.