String rchts und links abschneiden

Gast #879813
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

> +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
Lesenswert?

> 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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren