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...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.