Autore Topic: Estrarre da una stringa una rappresentazione numerica  (Letto 768 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Estrarre da una stringa una rappresentazione numerica
« Risposta #15 il: 25 Marzo 2018, 16:55:45 »
la verifica più sicura non può che essere quella carattere per carattere
Ci metto qualcosa anch'io al riguardo:

Codice: [Seleziona]
Public Sub Main()

  Dim s As String = "123.45        testo qualsasi"
  Dim bb As Byte[]
  Dim i As Integer
 
   bb = Byte[].FromString(s)
 
   While Not IsSpace(Chr(bb[i]))
     Inc i
   Wend
   
   bb.Remove(i, Len(s) - i)
   
   Print bb.ToString(0, bb.Count)

End

o se si preferiscono esclusivamente le funzioni stringa:
Codice: [Seleziona]
Public Sub Main()

  Dim s As String = "123.45        testo qualsasi"
  Dim i As Integer = 1
 
   While Not IsSpace(Mid(s, i, 1))
     Inc i
   Wend
   
   Print Left(s, i - 1)

End
« Ultima modifica: 25 Marzo 2018, 17:00:25 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.152
  • Tonno verde
    • Mostra profilo
Re:Estrarre da una stringa una rappresentazione numerica
« Risposta #16 il: 25 Marzo 2018, 17:34:46 »
Ci metto qualcosa anch'io al riguardo:

Ma questo bel codice, comunque non ti salva da possibili errori.
Naturalmente io parlo non dello specifico quesito, ma di codice "vero" tu mi insegni che potresti benissimo incontrare  una riga nella quale, per i più svariati motivi, gli spazi sono andati persi...


Non esagerare. Mi sono solo meravigliato che non avessi anche proposto Scan( ) e Split( ), poiché solitamente ne fai ampio uso.

Si devo ammettere che faccio uso di entrambi, visto che un certo vuott me e ce li ha ben spiegati  :D

Devo anche dire che Scan lo abbino spesso e volentieri con Try quando non so a cosa posso andare incontro, ad esempio:  ;D
Codice: [Seleziona]
  If IsNull(sName) Then sName = Scan(s, "*<a id=\"*\">*</a>*<*")[2]
  If IsNull(sName) Then Try sName = Scan(s, "*<a id=\"*\">*</a>*<*>*<*")[5]
  If IsNull(sName) Then Try sName = Scan(s, "*<a id=\"*\">*</a>*<*>*<*>*<*")[7]

 :ciao: :ciao:

nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Estrarre da una stringa una rappresentazione numerica
« Risposta #17 il: 25 Marzo 2018, 17:38:54 »
...una riga nella quale, per i più svariati motivi, gli spazi sono andati persi...

E quali sarebbero 'sti motivi ?   ???
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.152
  • Tonno verde
    • Mostra profilo
Re:Estrarre da una stringa una rappresentazione numerica
« Risposta #18 il: 25 Marzo 2018, 17:45:53 »
...una riga nella quale, per i più svariati motivi, gli spazi sono andati persi...

E quali sarebbero 'sti motivi ?   ???

Di solito si tratta di un errore di battitura di chi ha immesso i dati che dobbiamo leggere
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Estrarre da una stringa una rappresentazione numerica
« Risposta #19 il: 25 Marzo 2018, 17:52:14 »
...manca l'adduzione aliena degli spazi.   :D
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »