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 - Vb.net problema stringe
Forum - C# / VB.NET - Vb.net problema stringe

Avatar
riccardolore (Normal User)
Newbie


Messaggi: 3
Iscritto: 22/01/2010

Segnala al moderatore
Postato alle 18:27
Mercoledì, 13/04/2011
Ciao a tutti, spero possiate aiutarmi in questo problema, ora vi spiego:
io ho uno stringone e devo fare un algoritmo che mi permette di ottenere la stringa dopo l'uguale; i puntini stanno a significare che prima e dopo ho dei caratteri(è uno stringone). Come faccio a ottenere "success" da "status:success" se ho caratteri prima e dopo?

   .......status:success....

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
2
Down
V
Segnala al moderatore
Postato alle 12:05
Giovedì, 14/04/2011
Espressioni regolari: "status:(?<Status>\w+)\s+"


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Up
1
Down
V
Segnala al moderatore
Postato alle 19:42
Mercoledì, 13/04/2011
dunque se hai dei caratteri dopo direi che impossibile... devi avere 2 punti di riferimento per poter prendere una porzione di stringa...
Codice sorgente - presumibilmente C# / VB.NET

  1. int searchStringLength = "success".Length;
  2.             string inString = "blablablablabstatus:successgjapsigjapwejrfsdv";
  3.             string resString = inString.Substring(inString.IndexOf(':') + 1, searchStringLength);



a domanda precisa, risposta precisa...
a domanda generica, risposta generica...
PM
Avatar
R0gerBlack (Member)
Expert


Messaggi: 210
Iscritto: 10/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 19:48
Mercoledì, 13/04/2011
Dipende, se sai la parola che viene prima dei : è più facile, se invece la parola prima dei : potrebbe essere qualunque cosa si complica.. ecco un esempio:

Codice sorgente - presumibilmente C# / VB.NET

  1. Dim str As String 'La stringa contenente status:success
  2. str = "status:success"
  3. str = str.Replace("status:", Nothing) 'Sostituire "status:" con niente
  4. MsgBox(str)
  5. 'ora il MsgBox mostrerà chiaramente "success" avendo rimpiazzato
  6. 'status: con niente



Se invece dietro i puntini può esserci del testo qualunque (ma credo nel tuo caso non ci sia) dovresti usare i RegEx di cui l'uso è molto più complesso. Potresti anche avere delle cose in gruppo, tipo "status" ".." ".." e ".." ma anche se sono più elementi di cui ne conosci il testo puoi applicare lo stesso trucchetto semplicemente ripetendo il Replace con un'altra stringa con parole diverse.
Spero che ciò ti sia stato d'aiuto :k:

ragazzi, mi avete dato un idea...vi faccio vedere lo stringone: - riccardolore - 13/04/11 21:05
{i_User:{getInfo:{response:{users:{user:{id:1120141,email:prova@hotmail.it,nickname:pippo,is_premium:false}}},status:success}}} e a me serve controllare il valore di status,email,nome e is_premium,questo devo fare;quella stringa la ottengo così e da li devo partire per ottenere le informazioni. - riccardolore - 13/04/11 21:07
se provassi a sostituire al posto della virgola il due punti avrei 2 delimitatori x ognuno no? xò otterrei pure quei caratteri all'inizio che hanno i due punti. =.= questo è il mio problema.. - riccardolore - 13/04/11 21:09
ma devi proprio organizzare le informazioni così? se tu le facessi andare a capo si semplificherebbe tutto e non dovresti usare i regex per tutte quelle stringhe - R0gerBlack - 14/04/11 13:40


Volere è potere.

Se la conoscenza crea problemi, non è con l'ignoranza che si risolvono [Isaac Asimov]
PM