Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - c# eliminare parte di una striga contenente apici
Forum - C# / VB.NET - c# eliminare parte di una striga contenente apici

Avatar
fosforo (Normal User)
Expert


Messaggi: 267
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 13:25
Lunedì, 25/05/2015
Ciao
Ho questa stringa:
valore="1234"

Dovrei ottenere solo la cifra tra le apici.

Grazie anticipatamente


Scusate per la figuraccia.
PM Quote
Avatar
GN (Member)
Guru


Messaggi: 770
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 14:02
Lunedì, 25/05/2015
Se la scritta "valore" è sempre uguale, è molto semplice: rimuovi i primi 8 caratteri (v, a, l, o, r, e, =, ") e l'ultimo ("):
Codice sorgente - presumibilmente C# / VB.NET

  1. String s = "valore=\"1234\"";
  2. s = s.Remove(s.Length - 1).Remove(0, 8);


Se invece la situazione è più complicata, potresti usare le espressioni regolari.

Ultima modifica effettuata da GN il 25/05/2015 alle 14:03


PM Quote
Avatar
fosforo (Normal User)
Expert


Messaggi: 267
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 15:46
Lunedì, 25/05/2015
Ciao GN

Grazie per l'aiuto.
Se dovesse cambiare la cifra??
Es:

valore="0254482564"


Scusate per la figuraccia.
PM Quote
Avatar
GN (Member)
Guru


Messaggi: 770
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 18:02
Lunedì, 25/05/2015
Dovrebbe funzionare lo stesso perchè toglie un carattere dalla fine e 8 dall'inizio, quindi la lunghezza della stringa tra virgolette dovrebbe essere ininfluente, non hai provato?


PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1455
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 18:21
Lunedì, 25/05/2015
Codice sorgente - presumibilmente Plain Text

  1. stringa = valore.Replace("\"", "");


PM Quote
Avatar
archemi (Normal User)
Pro


Messaggi: 61
Iscritto: 08/01/2014

Segnala al moderatore
Postato alle 1:31
Venerdì, 29/05/2015
Io farei così
Cercherei l'indice della prima istanza delle virgolette " e poi l'ultima.
Taglio la stringa in base ai due indici
Codice sorgente - presumibilmente C#

  1. using System;
  2.  
  3. namespace tagliaStringa
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             String s0 = "prova=\u00221234\u0022";
  10.             String ricerca = "\u0022";
  11.             int i1 = s0.IndexOf(ricerca);
  12.             int i2 = s0.IndexOf(ricerca, i1+1);
  13.  
  14.             Console.WriteLine("La stringa da valutare è : " + s0);
  15.             Console.WriteLine("Tra il carattere posizionato all'indice : " + i1 + " e " + i2);
  16.             Console.WriteLine("Valore : " + s0.Substring(i1+1,s0.Length - i1-2));  
  17.             Console.ReadLine();
  18.  
  19.             String s1 = "prova=\u0022123456789\u0022";
  20.             i1 = s1.IndexOf(ricerca);
  21.             i2 = s1.IndexOf(ricerca, i1 + 1);
  22.  
  23.             Console.WriteLine("La stringa da valutare è : " + s1);
  24.             Console.WriteLine("Tra il carattere posizionato all'indice : " + i1 + " e " + i2);
  25.             Console.WriteLine("Valore : " + s1.Substring(i1 + 1, s1.Length - i1 - 2));
  26.             Console.ReadLine();
  27.         }
  28.     }
  29. }


PM Quote