从字符串中删除点的正则表达式

本文关键字:正则表达式 删除 字符串 | 更新日期: 2023-09-27 18:17:17

我有这个

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

上市。公司是一个字符串,这是有效的,但是当字符串有点时,它不会删除它们。

你能帮我一下吗

从字符串中删除点的正则表达式

在当前的正则表达式中,您的排除项中有'.,这将导致Regex.Replace忽略它。此外,您的regex不会将输入字符串转换为小写。你可以在之后这样做,但是在Replace之前这样做会使你的模式更简单。

试试这个方法:

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

也许你正在寻找这样的东西:

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

这里regex引擎将查找A-Z, a-z, underscore以及dot~以外的任何字符,并将其替换为"-"

演示

try

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

你不包括'.,这是点。另外,如果您希望使用小写字母,则需要首先将字符串转换为小写。