Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [c#] problema stringa

  1. #1

    [c#] problema stringa

    Ho una stringa del tipo: "c:\ciaociao\immagini\cane.iso" e a me servirebbe mettere in un altra stringa solo la parte "cane.iso"... come faccio?

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    ci sono molti modi per farlo, il primo che mi viene in mente è quello di usare LastIndexOff('\') per ottenere l'indice della posizione dell'ultima barra e poi usare SubString() e mettere come primo parametro l'indice ottenuto e come secondo il risultato della sottrazione dell'indice dalla lunghezza della stringa (proprietà Length), quindi ricapitolando :

    codice:
    string stringa = "c:\ciaociao\immagini\cane.iso";
    int indice = stringa.LastIndexOf('\'); (tra gli apici c'è la barra, ma credo per questioni di formattazione non venga visualizzata)
    int lunghezzaNome = (stringa.Length - indice);
    string nuovaStringa = stringa.SubString(indice,lunghezzaNome);
    oppure potresti usare lo split e prendere l'ultima dimensione del risultato, oppure un altra decina di modi!

    poi magari li provi e vedi quale sia piu' indicato al tuo scopo o quello piu' performante ecc., vedi tu.

  3. #3
    Io userei più semplicemente le apposite classi del framework per la manipolazione dei percorsi, che supportano sia il backslash (\) che lo slash normale (/) come separatore di percorsi e sono più semplici da utilizzare.
    codice:
    string percorsoCompleto = "c:\ciaociao\immagini\cane.iso";
    string nomeFile = System.IO.Path.GetFileName(percorsoCompleto);
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da MItaly
    Io userei più semplicemente le apposite classi del framework per la manipolazione dei percorsi, che supportano sia il backslash (\) che lo slash normale (/) come separatore di percorsi e sono più semplici da utilizzare.
    codice:
    string percorsoCompleto = "c:\ciaociao\immagini\cane.iso";
    string nomeFile = System.IO.Path.GetFileName(percorsoCompleto);
    decisamente piu' semplice

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.