webForumDet fria alternativet

matcha hela ord med regex

.NET

3 svar · 433 visningar · startad av paraxe

Medlem sedan apr. 2004298 inlägg
Frågan#1

Hej,

Jag har nu försökt förstå mig på Regular Expressions, men jag hittar ingen lösning på mitt problem, dels fattar jag inte riktigt syntaxen å escape hit å dit.

Det delikata problemet (som säkerligen är jätte lätt att lösa) är.

Jag vill replace ett helt ord, bara där ordet exakt matchar

så här ser koden ut:

string ToFilter = ((rrs.UI.Group)gCollection[i]).ParagraphContent;
						
	foreach(rrs.UI.Definition d in aList)
	{
							
		ToFilter = Regex.Replace(ToFilter, d.FldWord, "<a class=...>" + d.FldWord + "</a>");
							
	}

har jag ordet "krä" så skall inte bokstäverna i "k,r,ä" i ordet "kräver" replacas.

/pär

Medlem sedan apr. 200487 inlägg
#2

Du kan väl loopa igenom alla matches och sen bara byta ut dem?

Medlem sedan apr. 2004298 inlägg
#3

Du kan väl loopa igenom alla matches och sen bara byta ut dem?

Det är det jag gör..

Men ta ordet "natur" tex. Regex ska bara replace "natur", inte "natur" i ordet "naturlagar"

Nån klarhet?

Mvh

pär

Medlem sedan juni 20008 205 inlägg
#4

\b motsvarar "word boundary", så om du vill matcha "natur" ska det vara "\bnatur\b".

373 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
126 ms — deklarationer (db)
122 ms — hämta statistik (db)
123 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)