Eliminare ultimi 10 caratteri
Hai un problema con Excel? 
Eliminare ultimi 10 caratteri
di Mangusta (utente non iscritto) data: 02/07/2013 16:09:08
Ciao a tutti! oggi devo eliminare gli ultimi 10 caratteri di una stringa di cui non conosco la lunghezza ma so per certo che gli ultimi 10 vanno eliminati.
da
A1234567890
ottengo
A
ho provato con left , right , mid ecc ma non ci sono riuscito
di HarryBosch data: 02/07/2013 17:38:22
Ti manca il LEN per contare i caratteri di una stringa. Una volta che conosci quelli, puoi utilizzare la funzione Left che estrae "tot" caratteri a partire da sinistra:
Left(stringa, caratteri)
quindi nel tuo caso saranno
totCaratteri - 10
s = Left(stringa, Len(stringa) - 10)
ovviamente stringa sarà il valore da passare.
dove ti eri perso? ^_^
di Vecchio Frac data: 02/07/2013 19:27:47
Anche con Mid funziona.
E in un modo più esotico, anche con le espressioni regolari ^_^
Option Explicit
Sub test()
Dim stringa As String
Dim re As Object, matches As Object, s As String
stringa = "abcdefghijklmnopqrstuvwxyz"
Debug.Print "Stringa originale: " & stringa
Debug.Print "Con Left: ", Left(stringa, Len(stringa) - 10)
Debug.Print "Con Mid: ", Mid(stringa, 1, Len(stringa) - 10)
Set re = CreateObject("vbscript.regexp")
With re
.MultiLine = False
.Global = True
.IgnoreCase = True
.pattern = ".{10}$"
End With
If re.test(stringa) Then
Set matches = re.Execute(stringa)
Debug.Print "Con Regex: ", Replace(stringa, matches(0), "")
End If
Set re = Nothing
End Sub |
di Mangusta (utente non iscritto) data: 03/07/2013 12:45:43
Risolto Harry !! grazie mille!!!
non usavo contemporaneamente len e left!
Vecchio Frac espressioni regolari ?
di Vecchio Frac data: 03/07/2013 19:27:14
Un po' lungo da spiegare... le espressioni regolari (regular expressions) sono un metodo fornito dall'oggetto RegExp (della classe Scripting) per effettuare manipolazioni di stringhe: tipicamente ricerche, affettamenti di stringhe, restituzione di determinate porzioni di stringa che corrispondono a un pattern indicato.
Si usano (mi viene in mente così) per estrarre gli url dagli indirizzi h t t p, o per estrarre il testo html racchiuso solitamente tra tag come html, body, ecc., o per analizzare testo che ha forma di codice fiscale, di numeri di telefono, di date (per esempio, puoi creare una textbox che accetta testo libero ma con le regex recuperi solamente il testo che rappresenta una data).
Strumento potentissimo e difficilissimo da digerire ^_^
IN rete c'è una marea di letteratura.
Tieni conto anche che ci sono diverse versioni di regex, praticamente non c'è uno standard fisso, e la versione usata da VB6/VBA ne è un sottoinsieme piuttosto semplificato.
L'operatore Like funziona in modo analogo alle regex, ma di queste rappresenta una versione ancora più semplificata e inefficiente.
Nel post ho voluto giocare con le regex tanto per mostrare un'alternativa ^_^
Vuoi Approfondire?