Eliminazione ultimi caratteri da una stringa......

venerdì 30 novembre 2012 - 08.02

jekisi Profilo | Senior Member

Salve a tutto il forum, avrei il seguente problema:

Per eliminare gli ultimi caratteri di una stringa ho provato a fare

Dim MyString As String = TextBox20.Text
Console.WriteLine(MyString.Remove(5, 5))
TextBox22.Text = MyString

provo ad eliminare gli ultimi 5 caratteri a partire dalla quinta posizione della textbox20 e restituendo il risultato nella textbox22.

Questo è ciò che trovo su MSDN.

Ma non mi funziona

Dove sbaglio?

Distinti Saluti

Fabio Messina

AntCiar Profilo | Expert

>Dim MyString As String = TextBox20.Text
> Console.WriteLine(MyString.Remove(5, 5))
> TextBox22.Text = MyString
>

Ciao è un problema concettuale.
Praticamente tu gli dici di fare il remove ma poi effettivamente il risultato del remove non lo "imposti" su nessuna variabile.

Se fai cos' vedi che funziona:

Dim MyString As String = TextBox20.Text
MyString = MyString.Remove(5, 5)
Console.WriteLine(MyString.Remove(5, 5))
TextBox22.Text = MyString


Ciao
Cristian Barca

jekisi Profilo | Senior Member

Ciao il codice in certi casi mi funziona e in certi casi no, ti spiego:

scrivo

Dim MyString As String = TextBox1.Text
MyString = MyString.Remove(2, 3)
Console.WriteLine(MyString.Remove(2, 3))
TextBox2.Text = MyString

nella textbox1 scrivo 10/12/2012

nella textbox2 mi restituisce 10/2012

ora io devo eliminare 5 caratteri a partire dalla 6 posizione "/2012"

scrivo il codice

Dim MyString As String = TextBox1.Text
MyString = MyString.Remove(6, 5)
Console.WriteLine(MyString.Remove(6, 5))
TextBox2.Text = MyString

e mi restituisce questo errore:

Index e count devono fare riferimento a una posizione nella stringa. Nome parametro: count

evidenziandomi la seconda riga di codice

MyString = MyString.Remove(6, 5)

Dove sbaglio?

Distinti Saluti

Fabio Messina

alextyx Profilo | Expert

Stai sbagliando il conteggio per il carattere iniziale, credo. Per rendertene conto, prova a dire di eliminare soltanto 2 caratteri e guarda cosa ti succede. Non ho la possibilità di provare, ma se non ricordo male, l'indice dei caratteri parte da zero e se scrivi 6 parti dalla settima posizione e cerchi di elimnarne 5, quando di caratteri ne hai solo 10. Comunque, tutte le volte che uso istruzioni del genere, m'imbroglio sempre anche io, per cui la miglior strada è fare due prove. Buon lavoro :)

jekisi Profilo | Senior Member

Rlsolto:

Dim mystring As String = TextBox1.Text
mystring = mystring.Substring(0, mystring.Length - 5)
TextBox5.Text = mystring

dove 5 sono gli ultimi 5 caratteri da eliminare

Distinti Saluti

Fabio Messina
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5