修剪字符串,删除c#中的最后一个字符

时间:2012-03-08 20:09:07

标签: c# asp.net regex

我遇到了从字符串中删除反斜杠的麻烦。 字符串就像这个“3adsadas34”。 我想在最后删除反斜杠,我尝试了:

urlContent = realUrl.Remove(realUrl.Length - 1, 1);

但它不想工作。 我想知道我是否可以使用正则表达式,如果可以,可能有人可以提供正则表达式样本以从该字符串中删除'\',或者其他一些方法来删除反斜杠更受欢迎。 在此先感谢Laziale

8 个答案:

答案 0 :(得分:11)

试试这个

urlContent = realUrl.TrimEnd('\\');

注意:你必须逃避反斜杠。

char ch = '\\';
string s = "\\";
string verbatimString = @"\";

您的Remove代码看起来不错。 realUrl.Substring(0, realUrl.Length-1)也会这样做。问题可能出在其他地方。

答案 1 :(得分:2)

urlContent = realUrl.TrimEnd('\\');

请记住,您必须使用另一个反斜杠转义反斜杠才能使其正常工作。

答案 2 :(得分:1)

你可以使用修剪结束,

realUrl.TrimEnd('\\');

请记住,这将删除'\'

的所有尾随发生

答案 3 :(得分:1)

例如,一个非常天真的实现:

public static string RemoveTrailingBackslash(string text)
{
 if (text.EndsWith("\\") && text.Length > 1)
  return text.Substring(0, text.Length - 1);

 return text;
}

答案 4 :(得分:1)

这样做: -

Regex.Replace(str, @"\\$", "");

答案 5 :(得分:1)

要在结尾处删除所有反斜杠,请像其他海报所写的那样致电string.TrimEnd('\\')

要仅删除最后一个(假设末尾可能有多个反斜杠),请执行以下操作:

if ( realUrl!=null && realUrl.EndsWith('\\') )
{
    urlContent = realUrl.Substring(0, realUrl.Length-1 );
}
else
{
    urlContent = realUrl;
}

答案 6 :(得分:0)

urlContent = realUrl.Substring(0, realUrl.Length - 1);

也应该有用

答案 7 :(得分:0)

 string realUrl="3adsadas34\\";
 string urlContent = realUrl.Remove(realUrl.Length - 1, 1);