/ / Regex na odstránenie bodov z reťazca - c #, regex

Regex na odstránenie bodov z reťazca - c #, regex

mám toto

regex Regex.Replace(listing.Company, @"[^A-Za-z0-9_.~]+", "-");

listing.Company je reťazec, to funguje, ale keď reťazec má bodky, neodstraňuje ich.

Môžete mi prosím pomôcť

odpovede:

2 pre odpoveď č. 1

V súčasnom regexu máte . vo vašom vylúčení, čo spôsobí, že ju ignoruje Regex.Replace, Rovnako váš regex nerobí nič, aby konvertovali vstupný reťazec na malé písmená. Môžete to urobiť neskôr, ale robiť to predtým, ako vymeniť, uľahčí váš vzor.

Vyskúšajte túto metódu:

var output = Regex.Replace(listing.Company.ToLower(), "[^a-z0-9_]+", "-");

1 pre odpoveď č. 2

vyskúšať

Regex.Replace(listing.Company.ToLower(), @"[^a-z0-9_]+", "-");

vy vylučujete . čo je pre bod. Tiež, ak to chcete s malými písmenami, musíte najskôr previesť reťazec na malé písmená.


0 pre odpoveď č. 3

Možno hľadáte niečo takéto:

string res = Regex.Replace(listing.Company, @"[W+.~]", "-");

Tu motor regex bude hľadať akúkoľvek inú postavu než A-Z, a-z, underscore spolu s dot a ~ a nahradí ho "-".

demonštrácie