String rchts und links abschneiden

Gast #879813
Hi! Ich suche eine folgende Lösung für dieses Problem:

Ein String, lassen wir ihn mal so aussehen: 12345,ABCDEFG,5678

Die Zahlen am Anfang ändern sich nicht und die am Ende auch nicht, nur 
die Länge der Buchstabenkette ändert sich. (Telefonnummern auf Simkarte)

Nun dachte ich ganz einfach: Mit Right und left jeweils die Enden 
abschneiden und siehe da, man erhält die Nummer. Nix ist!

Mit Right erreicht man, dass alles von x-Stellen von rechts gezählt 
ERHALTEN wird und nicht gelöscht wird!!!  Gibt es nicht eine einfache 
Lösung diesen sich nicht ändernden Haufen links wie rechts zu löschen im 
String?

Danke für eure Antworten!
Gast #879817
Ach nochwas, ich suche bisher vergebens in der Bascom-Hilfe angeblich 
enthaltenen Funktion "Split".

Wo ist es?  Habe in den anderen Forenthemen dazu nur gelesen es soll 
wohl da sein aber Split gibts in der Hilfe nicht ?!
Gast #879849
Folgendes,ich lese das< Telefonbuch mit at+cpbr=2 aus, es wird der 
zweite Eintrag ausgegeben. Nun muss ich die Rufnummer aus untenstehendem 
String selektieren:

at+cpbr=2 gesendet,es kommt vom Modem zurück:
+CPBR: 2,"+491721234567",145,"02"


Nun wird das Ergebnis berechnet!
Ich schreibe in Bascom:

Laenge = Mid(laenge2 , 10)


  Waitms 2000
  Print Laenge

Daraufhin ergibt sich folgendes:

"+491721234567",145,"02"  Der Anfang ist schonmal erledigt...

Da ich die Rufnummer im Textmodus für SMS-Versand nutzen will, so muss 
im String noch hinten der Rest nach der Nummer verschwinden, und wie 
gesagt,diese kann ja ihre Länge an anderer Stelle ändern!

Gruss, uwe!
Persönliche Seite #879871
Mid kann auch mit drei Argumenten aufgerufen werden ...
1
MID
2

3
Action
4

5
  - The MID function returns part of a string (a sub string).
6

7
  - The MID statement replaces part of a string variable 
8
    with another string.
9

10
 
11
Syntax
12

13
  var = MID(var1 ,st [, l] )
14

15
  MID(var ,st [, l] ) = var1
16

17
Remarks
18

19
  var    The string that is assigned.
20
  Var1   The source string.
21
  st     The starting position.
22
  l      The number of characters to get/set.
#879881
> +CPBR: 2,"+491721234567",145,"02"

alt = Deine Rückgabe
neu = ""
teil = ""
merken = falsch
start = 1

Beginne

  teil = Mid ( alt,start,1)
  wenn merken ) wahr, dann neu = neu + teil
  wenn Teil = ""
    wenn merken = wahr, dann ende
    wenn falsch dann merken = wahr
   start = start + 1

Ende

So in etwa?
Hanns
Persönliche Seite #879949
> Danke erstmal, the Number of Characters verstehe ich nicht.
> Das soll der dritte Wert für die Mid-Anweisung sein...

Das ist die Anzahl der Zeichen, die extrahiert werden.


Angenommen, wir hätten einen String

  Text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"


  Resultat = Mid(Text, 10, 3)

Dann enthält Resultat "KLM" (angenommen, der Index beginnt wie in C bei 
0 zu zählen, andernfalls wäre Resultat "MNO").

Wirds klarer?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.