Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hämta ut ur en sträng....

Postades av 2002-03-24 18:31:44 - John Lundberg, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 469 personer

Hur gör jag för att lättast hämta enskild data från en sträng som denna...

string = "&ver=1423&acct=23465782663&amm=12.00&validthr=0202"

'vill få ut det som typ

ver = string(ver)
acct = string(acct)
amm = string(amm)
validthr = string(validthr)


Svara

Sv: Hämta ut ur en sträng....

Postades av 2002-03-24 18:49:01 - Peter Nilsson

Det finns flera olika sätt !! Ett är.
St=Mid$(string,1,3) Satsen skall tolkas så här. Skicka tillbaka tre tecken, med start från det första tecknet, från stängen string. Sedan får du själv räkna fram vilka tecken som skall plockas ut.
MVH Peter


Svara

Sv: Hämta ut ur en sträng....

Postades av 2002-03-24 19:21:53 - John Lundberg

jojo... men det förutsätter att värdena i stängen alltid är dem samma....
i mitt fall så varierar dem...


Svara

Sv: Hämta ut ur en sträng....

Postades av 2002-03-25 00:59:52 - Eventine Elessendil

Under förutsättning att inget av orden "passar in i" varandra, så kan du använda dig av InStr för att söka upp dina "taggar". <BR>
Ett förslag på loop: <BR>
<code>
Sub FindTags()
Dim strString As String, strVer As String, strAcct As String
Dim strAmm As String, strValidthr As String, strTag As String
Dim intPos As Integer, intLen As Integer, strValue As String

strString = "&ver=1423&acct=23465782663&amm=12.00&validthr=0202"
intPos = 1 ' Sätt startposition
Do
' hitta förekomst av & som är avskiljaren
If IsNull(InStr(intPos, strString, "&")) Then
' finns inga fler förekomster
MsgBox "Klart"
Exit Do
ElseIf InStr(intPos, strString, "&") < intPos Then
' loopen har gått runt
MsgBox "Loopen har gått runt. Avbryter."
Exit Do
Else
' kör nästa
intPos = InStr(intPos, strString, "&") + 1
End If
' läs in nästa "tagnamn"
intLen = InStr(intPos, strString, "=") - intPos
strTag = Mid$(strString, intPos, intLen)
intPos = intPos + intLen + 1
intLen = InStr(intPos, strString, "&") - intPos
' Vid sista förekomsten finns inget "&"
If intLen < 0 Then intLen = Len(strString) - intPos + 1
strValue = Mid$(strString, intPos, intLen)
Select Case strTag
Case "ver"
strVer = strValue
Case "acct"
strAcct = strValue
Case "amm"
strAmm = strValue
Case "validthr"
strValidthr = strValue
Case Else
MsgBox "Taggnamnet " & strTag & " saknas!"
End Select
Loop While intPos > 0 And intPos < Len(strString)
End Sub
</code>
<BR>
Finns säkert bättre sätt att skriva det på, men ett förslag i alla fall. Jag skyller på att jag inte har VB framför mig och att jag är trött som en gnu ... :-) <BR>
Lycka till. <BR>
Mvh <BR>
/EE


Svara

Sv: Hämta ut ur en sträng....

Postades av 2002-03-25 09:44:37 - Andreas Hillqvist

Kommer med en mer generell lösning:
<code>
Public Function Test()
Dim ver As String
Dim acct As String
Dim amm As String
Dim validthr As String

Dim Text As String
Dim Data() As String
Dim Index As Long

Text = "&ver=1423&acct=23465782663&amm=12.00&validthr=0202"
Data = SplitValues(Text)
For Index = 0 To UBound(Data, 2)
Select Case Data(0, Index)
Case "ver"
ver = Data(1, Index)
Case "acct"
acct = Data(1, Index)
Case "amm"
amm = Data(1, Index)
Case "validthr"
validthr = Data(1, Index)
End Select
Next
Debug.Print "ver: " & ver
Debug.Print "acct: " & acct
Debug.Print "amm: " & amm
Debug.Print "validthr: " & validthr
End Function

Public Function SplitValues(Text As String, Optional ParameterDelimeter As String = "&", Optional ValueDelimeter As String = "=", Optional Compare As VbCompareMethod = vbBinaryCompare) As String()
Dim Index As Long
Dim Data() As String
Dim Values() As String
Dim Parameters() As String
Parameters() = Split(Text, ParameterDelimeter, , Compare)
ReDim Data(0 To 1, 0 To UBound(Parameters))
For Index = 0 To UBound(Parameters)
Values = Split(Parameters(Index), ValueDelimeter, 2, Compare)
Select Case UBound(Values)
Case 0
Data(0, Index) = Values(0)
Case 1
Data(0, Index) = Values(0)
Data(1, Index) = Values(1)
End Select
Next
SplitValues = Data
End Function
</code>


Svara

Sv: Hämta ut ur en sträng....

Postades av 2002-03-25 10:24:20 - Eventine Elessendil

Mycket bättre än min lösning, Andreas. :-)
En liten detalj bara, särskilt som du gör lösningen mer generell: kan vara bra att ha någon form av hantering av de "taggar" som inte faller inom de fördefinierade namnet. En lösning kan vara att lagra dem i en matris eller listruta för att sedan kunna lägga till hantering av även dessa senare.
Mvh
/EE


Svara

Sv: Hämta ut ur en sträng....

Postades av 2002-03-25 16:25:50 - Ivar Torstensson

Såhär ungefär?
<code>
Function getstring(strSearch As String, st As String)
Set RegEx = New RegExp
RegEx.Pattern = "[^&]+"
RegEx.IgnoreCase = False
RegEx.Global = True
Set Matches = RegEx.Execute(st)
For Each match In Matches
If Mid(match, 1, InStr(match, "=") - 1) = strSearch Then
getstring = Mid(match, InStr(match, "=") + 1)
Exit Function
End If
Next
Set RegEx = Nothing
End Function

Private Sub Command1_Click()
Call MsgBox(getstring("amm", "&ver=1423&acct=23465782663&amm=12.00&validthr=0202"))
End Sub

</code>
Du behöver sätta en referens till Microsoft VBScript Regular Expressions.
<br><br>
/Ivar


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 644
27 953
271 710
12 311
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies