【问题标题】:Replacing specified characters using Regex .net使用 Regex .net 替换指定字符
【发布时间】:2011-10-19 11:56:07
【问题描述】:

我在这里有一个小的正则表达式,我从文件中删除所有空格并将它们替换为“-”。

我还想用“-”替换其他字符,例如“,”和“_”。

如何在我的正则表达式中列出这些字符?

Regex r = new Regex(@"\s+");

string fileName = r.Replace(Files.Name, @"-");

【问题讨论】:

    标签: c# .net regex replace


    【解决方案1】:
    Regex r = new Regex(@"[\s,_-]+");
    
    string fileName = r.Replace(Files.Name, @"-");
    

    注意- 必须是第一个,最后一个,否则您需要转义。

    【讨论】:

    • @FailedDev 这是一个带有:-):-D 的迂腐...
    • 只是说:) 无意冒犯! :)
    【解决方案2】:
    Regex r = new Regex(@"(\s|-|,|_)+");
    

    【讨论】:

    • 呃,但这是一种低效的方法。 @xanatos 的版本更干净、更快。
    • 我认为它更具可读性,因为您无需担心字符的排序或转义,但这是个人喜好。我认为我们正在进入微优化以称其为“低效”。是的,如果您循环数千次,它可能会慢几毫秒。那有关系吗?如果需要绝对最快,则对每个不同字符的直接字符串替换会更快。 IMO 的可读性通常更为重要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 2012-06-22
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    相关资源
    最近更新 更多