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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.