Domanda

Ho bisogno di convertire tutte le seguenti forme in oggetto .NET Uri:

  • "hello.world"
  • ".. \ qualcosa \ quacosa"
  • "../ qualcosa / quacosa / else"
  • "c: \ autoexec.bat"
  • " http://whatever.com/nevermind.html "
  • più o meno qualsiasi altra cosa che ci si potrebbe aspettare di trovare in qualcosa di costruzione di percorso locale o web.

Ho già controllato un new Uri("..\somthing\something") e new Uri("../something/somthing/else") non funzionano. Anche statica nessuno di Uri sembrano essere per questo.

Tutte le idee accanto a un albero logica grande e / o regex?

È stato utile?

Soluzione

Prova il seguente

new Uri("../whatever",UriKind.RelativeOrAbsolute);

Senza il flag RelativeOrAbsolute l'Uri tenterà di analizzare un completo URI assoluto. Aggiungendo la bandiera la lascerà analizzare essenzialmente qualsiasi URI valido (relativo o assoluto)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top