webForumDet fria alternativet

Parsa sträng?

.NET

2 svar · 571 visningar · startad av Travoni

Medlem sedan okt. 20041 556 inlägg
Frågan#1

Jag har detta i en variabel (var1): C:\Inetpub\www\mySite\myfolder\documents\Mapp\Submapp

och även detta i en annan (var2): \myfolder\documents\

Nu vill jag ha ut det som är till höger om \myfolder\documents\ ifrån var1
alltså i detta fall : \Mapp\Submapp

Hur gör jag?

Medlem sedan maj 20012 812 inlägg
#2

Det finns säkert någon bra lösning med RegExp. Men då jag är fördåligt på det så hade jag löst det med lite hederlig stränghantering i C#.

Börja med att använda IndexOf() den plockar fram första positionen i din sträng som matchar din andra sträng.

int index = var1.IndexOf(var2);

Du får nu den position i din var1 sträng där var2 börjar, du vet att du vill ha allt därefter minus din själva var2 sträng.

Du tar positionen som du fått och lägger till längden på din var2 sträng och tar ut en substräng från var1.

string subString = var1.SubString(index + var2.Length());

och trycker vi ihop lösningen lite så blir det.

string subString = var1.SubString(var1.IndexOf(var2) + var2.Length());

Men som sagt, det finns säkert någon bättre lösning med Regexp...

- M

Medlem sedan okt. 20041 556 inlägg
#3

Härligt med en så trevlig förklaring....den funkade dessutom.
Tack! :)

OT: Att jag har fördomar om folk är värst.

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)