[C#] Regex woordfilter

Gestart doorJoeryy6 reacties70 weergaven

7 berichten · pagina 1 van 1

Joeryy

Lid · Topicstarter

Berichten
1.533
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hey,

Ik ben op zoek naar een code in C# dat hij woorden eruit kan filteren en daar een ***** van maakt, ik ben al zo ver dat hij spaties negeert, maar hoe maak je dat bijvoorbeeld: as.sho.le ook gewoon gezien word als een slecht woord?

De code moet dus zeg maar tekens als .+_)(#$ etc. negeren.

public static string Filter(string input, string[] badWords)
        {
            var re = new Regex(
                @"("
                + string.Join("|", badWords.Select(word =>
                    string.Join(@"s*", word.ToCharArray())))
                + @")", RegexOptions.IgnoreCase);
            return re.Replace(input, match =>
            {
                return new string(*, match.Length);
            });
        }


Joery.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Regexer.com

/[^a-zA-Z]/ selecteer alles dat niet a t/m Z is volgens mij
0
Berichten
545
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
EDIT:

Vond dit bericht ook op Stackoverflow trouwens..

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

public static string Filter(string input, string[] badWords)
{
string nInput = input.replace(".", "");
string nInput = input.replace(",", "");
string nInput = input.replace("-", "");
string nInput = input.replace("/", "");
string nInput = input.replace("+", "");
string nInput = input.replace("#", "");
var re = new Regex(
@"b("
+ string.Join("|", badWords.Select(word =>
string.Join(@"s*", word.ToCharArray())))
+ @")b", RegexOptions.IgnoreCase);
return re.Replace(nInput, match =>
{
return new string(*, match.Length);
});
}

Zou moeten werken.
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik had m al geholpen.

Per woord (bijvoorbeeld neuken) doe je tussen elke letter en van een e maak je (e|3) en een i maak je (i|l|1) ect zodat je uiteindelijk dit krijgt
n([^a-a]+)(e|3)([^a-a]+)k([^a-a]+)u([^a-a]+)k([^a-a]+)(e|3)([^a-a]+)n

Dat filtert ook dingen als n.e.u.k.3 5n weg enzo.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Het is wel leuk, maar als mensen scheldwoorden willen gebruiken dan zijn de filters eenvoudig te omzeilen.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Aarclay schreef:
Het is wel leuk, maar als mensen scheldwoorden willen gebruiken dan zijn de filters eenvoudig te omzeilen.
Dan kan je de filter toch heletijd weer uitbreiden?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Het blijft een kat-muis spel. wink
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren