Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[C#] string replacement

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik wil

www.eenwebsite.nl/<path>/pagina1.html?<querystring>

vervangen met

www.eenwebsite.nl/<een andere path>/pagina1.html?<querystring>

<path> kan varieren en ?<querystring> hoeft niet altijd aanwezig te zijn.

Op het internet heb ik lopen zoeken hoe men dit voor elkaar kan krijgen met c# regular expression. Ik krijg telkens voorbeelden hoe men een specifieke string kan vervangen. Het probleem is dat <path> kan varieren.

Ik heb hier totaal geen verstand van en vraag mij af of jullie mij naar de juiste richting kan sturen.

thanks

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19-11 18:15

Sebazzz

3dp

Lukt de RegEx niet of weet je niet hoe je een RegEx moet implementeren in C# code?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • beany
  • Registratie: Juni 2001
  • Laatst online: 16:08

beany

Meeheheheheh

Klinkt als een script request... Wat heb je zelf al geprobeerd, naast zoeken? Zelf al een regular expression in elkaar proberen te zetten? Wat was het resultaat daar van? Waarom werkt het denk je niet? Kan je die regular expression eens posten?

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


Verwijderd

Topicstarter
Sebazzz schreef op donderdag 28 februari 2008 @ 12:53:
Lukt de RegEx niet of weet je niet hoe je een RegEx moet implementeren in C# code?
ik weet niet hoe ik de RegEx moet samenstellen.

code:
1
2
3
  string someUrl = "www.eenwebsite.nl/<pad>/page.aspx";
            
string s = Regex.Replace(someUrl,?);


waar het ? staat hoort een expressie te staan. de vraag is hoe moet deze expressie eruit zien om allen <pad> te wijzigen

  • beany
  • Registratie: Juni 2001
  • Laatst online: 16:08

beany

Meeheheheheh

Misschien is een regex tutorial iets voor je? Zat van te vinden op het internet( http://www.regular-expressions.info/ )

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:34

Creepy

Tactical Espionage Splatterer

Wat beany zegt dus. Dat is iets niet weet is niet erg, maar dat je hier om een oplossing komt vragen zonder jezelf er in te willen verdiepen is dat eigenlijk wel en dat zou je ook moeten weten.

Bekijk eens wat regexp tutorials en probeer zelf eens wat. Als je er dan niet uitkomt dan kan je hier weer verder met als eerste aan te geven wat je nu zelf al hebt geprobeerd en wat daar niet mee lukte.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ik zou hier overigens geen regular expression voor gebruiken.

Met string.Replace en string.IndexOf kan je dit ook oplossen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • lier
  • Registratie: Januari 2004
  • Laatst online: 18:16

lier

MikroTik nerd

rwb schreef op donderdag 28 februari 2008 @ 14:15:
Ik zou hier overigens geen regular expression voor gebruiken.

Met string.Replace en string.IndexOf kan je dit ook oplossen.
Er zijn meerdere wegen die naar Rome leiden ;)

Ook zou je de string kunnen splitten met behulp van de string.Split() methode.

Eerst het probleem, dan de oplossing


Verwijderd

Topicstarter
lier schreef op donderdag 28 februari 2008 @ 14:20:
[...]

Er zijn meerdere wegen die naar Rome leiden ;)

Ook zou je de string kunnen splitten met behulp van de string.Split() methode.
inderdaad. dat heb ik ook overwogen maar ik dacht dat je met regular expression dit soort zaken elegant kan oplossen.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Da's in ieder geval al een begin; nu je dat hebt ga je onderzoeken of dat ook zo is, en zo ja, hoe je dat dan kunt doen, en zo nee, wat een alternatief zou kunnen zijn. Programmeren is ook een beetje creatief denken en 'elegant' is in de ene situatie misschien wel van toepassing en in een andere situatie niet. Het gaat er om hoe je je kennis toepast; en om die kennis toe te passen moet je je dus eerst in de materie verdiepen ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19-11 18:15

Sebazzz

3dp

Hoewel het C# is, en dat supersnel is tegenwoordig, kan het geeen kwaad om in zo'n geval op te zoeken welke methode het snelste is. Gokje: String.Replace()

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • Yoozer
  • Registratie: Februari 2001
  • Laatst online: 03-08 17:53

Yoozer

minimoog

Verwijderd schreef op donderdag 28 februari 2008 @ 14:45:
inderdaad. dat heb ik ook overwogen maar ik dacht dat je met regular expression dit soort zaken elegant kan oplossen.
Niet echt elegant, want regexen zijn zelden goed leesbaar ;)

http://regexlib.com/default.aspx heeft specifieke regexen voor .NET en een handige tester. Replace werkt een stukje anders dan Find.

Is je C# voor een applicatie of voor een ASP.NET site? In het laatste geval kun je beter Request.Servervariables gebruiken; die kan je een pad geven. In het eerste geval zou ik kijken op welke manier je URL binnenkomt; als dat altijd hetzelfde is (www.nogwat.com/pad/zooi) dan kun je volstaan met splitsen of substrings. Is je padnaam altijd identiek, dan is een enkelvoudige replace vanuit het begin genoeg.

teveel zooi, te weinig tijd


  • Zyphrax
  • Registratie: September 2001
  • Laatst online: 04-04-2023
Yoozer schreef op donderdag 28 februari 2008 @ 15:20:
[...]
In het laatste geval kun je beter Request.Servervariables gebruiken; die kan je een pad geven. In het eerste geval zou ik kijken op welke manier je URL binnenkomt; als dat altijd hetzelfde is (www.nogwat.com/pad/zooi) dan kun je volstaan met splitsen of substrings. Is je padnaam altijd identiek, dan is een enkelvoudige replace vanuit het begin genoeg.
Dit is inderdaad een stuk fraaier als dit je situatie is.
Ik zou dan alleen niet het zelf uit ServerVariables halen, de Request klasse bevat bijvoorbeeld al een Url property waar je specifiek een stuk van de Url aan kunt vragen. Sowieso is het aardig om dan eens naar de andere properties van Request te kijken, vaak is ServerVariables niet nodig meer.

Any sufficiently advanced technology is equivalent to magic.


Verwijderd

Het .NET framework beschikt ook over de Uri klasse.
Deze klasse beschikt over een aantal ingebouwde eigenschappen en methoden waarmee je gemakkelijk bewerkingen kan uitvoeren op een Uri. Houdt je code goed leesbaar en bespaart je wat codeerwerk.

Voor informatie: http://msdn2.microsoft.co...m.uri_members(VS.80).aspx

Natuurlijk is dit weer een weg naar Rome. Het is maar net wat je het prettigst vindt.

Edit: OOPS! Niet goed gelezen, Zyphrax zei hetzelfde :)

[ Voor 18% gewijzigd door Verwijderd op 29-02-2008 09:34 ]

Pagina: 1