我想知道一个非常简单的事情:字符串是否以反斜杠结束是或否?
string bla = @"C:\";
if ( ! Regex.IsMatch(bla, "\b$")) { bla = bla + @"\"; }
但它不起作用。如果字符串末尾没有斜杠,我想添加斜杠。我尝试了几种方法,即使我只是尝试匹配反斜杠,而不是在字符串的末尾,这是一个巨大的问题:
Regex.IsMatch(bla, "\b") // Not working
Regex.IsMatch(bla, @"\") // Giving me and exception even!
Regex.IsMatch(bla, @"\\$") // not working
我没有选择权。我怎么能用C#反斜杠?
答案 0 :(得分:6)
我想知道一个非常简单的事情:字符串以反斜杠结束 是或否。
然后你不需要正则表达式......
string str = "your string here";
str.EndsWith(@"\"); // true or false
如果你真的想用正则表达式做,你只需要确保你的正则表达式是正确的。这应该有效:
.*\\$
.* will match any optional leading characters
\\ will match the '\' and has been escaped with another '\'
$ will match until the end of your string.
答案 1 :(得分:0)
您的代码不起作用因为静态方法Regex.IsMatch
有两个参数..
public static bool IsMatch(string input, string pattern)
{
return new Regex(pattern).IsMatch(input);
}
所以你应该尝试一下:
if (!Regex.IsMatch(bla, @".*\\$"))