Leerzeichen entfernen(hat sich erledigt)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Vertex

Betreff: Leerzeichen entfernen(hat sich erledigt)

BeitragSo, Feb 29, 2004 11:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Schreibe gerade an einem Parser, bloß will folgendes mir noch nicht gelingen:
Habe eine Variable namens varValue die folgenden Inhalt hat:
Code: [AUSKLAPPEN]
varValue$ = Chr$(34)+"Hello World"+Chr$(34)+" ,13, 14"

also in der Textdatei sieht das so aus
Zitat:
"Hello world" ,13, 10

Ich möchte jetzt die Leerzeichen so entfernen, das der String zwischen
den beiden Anführungszeichen nicht verändert wird, also so:
Zitat:
"Hello world",13,10

Bloß weiß ich jetzt nicht weiter, wie ich das anstellen soll.
So habe ich es versucht:
Code: [AUSKLAPPEN]
start = 0
For i=1 To Len(varValue$)
   If Mid$(varValue$, i, 1) = Chr$(34) Then
      If start>0 Then
         valueLeft$   = Left$(varValue$, start)
         valueMiddle$ = Replace$(Mid$(varValue$, start+1, i-start), " ", "")
         valueRight$  = Right$(varValue$, Len(varValue$)-i)
         varValue$    =  valueLeft$+valueMiddle$+valueRight$
      Else
         start = i
      EndIf
   EndIf
Next

Aber geht leider nicht Sad
mfg olli

Edit: bin jetzt slebst zur Lösung gekommen:
Code: [AUSKLAPPEN]
      start = 0
      For i=1 To Len(varValue$)
         If Mid$(varValue$, i, 1) = Chr$(34) Then
         If start>0 Then
               valueLeft$   = Replace$(Left$(varValue$, start-1), " ", "")
                  valueMiddle$ = Mid$(varValue$, start, i-start+1)
                  valueRight$  = Replace$(Right$(varValue$, Len(varValue$)-i), " ", "")
            DebugLog valueLeft$+valueMiddle$+valueRight$
               start = 0
            Else
               start = i
            EndIf
         EndIf
      Next
vertex.dreamfall.at | GitHub

Ctuchik

BeitragSo, Feb 29, 2004 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

function RemoveSpaces(varValue$)
  newString$ = ""
  For i=1 To Len(varValue$)
    char$=Mid(varValue$,i,1)
    If char$ = Chr$(34)
      Repeat
        newString$ = newString$ + char$
        i = i + 1
        char$=Mid(varValue$,i,1)
      Until char$ = Chr$(34)
      newString$ = newString$ + char$
    ElseIf char$ <> " "
      newString$ = newString$ + char$
    End if
  Next
  Return newString$
End Function

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group