加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 正则表达式而不是string.replace函数

发布时间:2020-12-16 01:52:01 所属栏目:百科 来源:网络整理
导读:我见过这个 CheatSheet for Regex in C# 但是,我正在尝试创建一个可以替换它的正则表达式函数: while (fname.Contains("..")){ fname = fname.Replace("..",".");}if (fname.StartsWith(".")) { fname= fname.Remove(0,1);}fname = fname.Replace("","_");f
我见过这个 CheatSheet for Regex in C#

但是,我正在尝试创建一个可以替换它的正则表达式函数:

while (fname.Contains(".."))
{
    fname = fname.Replace("..",".");
}
if (fname.StartsWith(".")) { 
    fname=  fname.Remove(0,1);
}
fname = fname.Replace("&","_");
fname = fname.Replace("#","_");
fname = fname.Replace("{","_");
fname = fname.Replace("}","_");
fname = fname.Replace("%","_");
fname = fname.Replace("~","_");
fname = fname.Replace("?","_");

我根本就没有得到如何编写将为我解决这个问题的正则表达式.
任何人都可以帮我一把吗?

解决方法

string dotsPattern = @"..+"; //2 or more dots.
fname=Regex.Replace(fname,dotsPattern,".");
String firstSymbolDot = @"^.";
fname = Regex.Replace(fname,firstSymbolDot,String.Empty);
string symbolPattern = "[&#{}%~?]"; //any of given symbol;
string result = Regex.Replace(fname,symbolPattern,"_");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读