想知道我是否可以在下面编写正则表达式,目前正在使用String.Remove(17,7)
string txt = "werfds_tyer.abc.zip.ytu_20111223170226_20111222.20111222";
我想从上面的字符串
中删除.zip.ytu答案 0 :(得分:9)
答案 1 :(得分:4)
以下是OP询问的使用正则表达式的答案。 ;-)
要使用正则表达式,请将替换文本放在match()中,然后将该匹配替换为nothing(string.empty):
string text = @"werfds_tyer.abc.zip.ytu_20111223170226_20111222.20111222";
string pattern = @"(\.zip\.ytu)";
Console.WriteLine( Regex.Replace(text, pattern, string.Empty ));
// Outputs
// werfds_tyer.abc_20111223170226_20111222.20111222
HTH
答案 2 :(得分:3)
txt = txt.Replace(".zip.ytu", "");
为什么不简单地在上面做?
答案 3 :(得分:2)
使用string.Replace:
txt = txt.Replace(".zip.ytu", "");
答案 4 :(得分:2)
不知道什么是“.zip.ytu”,但如果你不需要完全匹配,你可能会使用类似的东西:
string txt = "werfds_tyer.abc.zip.ytu_20111223170226_20111222.20111222";
Regex mRegex = new Regex(@"^([^.]*\.[^.]*)\.[^.]*\.[^_]*(_.*)$");
Match mMatch = mRegex.Match(txt);
string new_txt = mRegex.Replace(txt, mMatch.Groups[1].ToString() + mMatch.Groups[2].ToString());
答案 5 :(得分:0)
这是我用于更复杂的repaces的方法。查看链接:http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.replace(v=vs.110).aspx以获取正则表达式替换。我也在下面添加了代码。
string input = "This is text with far too much " +
"whitespace.";
string pattern = "\\s+";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);