如何从 C# 字符串的末尾删除

 

(如果它存在)

本文关键字:nbsp 如果 存在 amp 删除 字符串 | 更新日期: 2023-09-27 18:35:19

有人可以帮忙建议我如何创建一个函数,如果出现一些文本,它会修剪掉一些文本在 C# 中字符串的末尾。我拥有的是一些以以下内容结尾的字符串:

<p>&nbsp;</p>

例如var a = "sometext<p>&nbsp;</p>";

我知道我可以使用text.EndsWith("<p>&nbsp;</p>")来检测它是否匹配,但是怎么能我删除它?

如何从 C# 字符串的末尾删除 <p>&nbsp;</p>(如果它存在)

您可以使用正则表达式

Regex.Replace(text, "<p>&nbsp;</p>$", "")

这样,您就不必检查.EndsWith("<p>&nbsp;</p>")

假设您只想删除位于强末尾的标签,请使用:

text.Substring(0, text.Length - "<p>&nbsp;</p>".Length);

我会使用LastIndexOf和Substring:

string toReplace = "<p>&nbsp;</p>";
if(a.EndsWith(toReplace)) a.Substring(0, a.LastIndexOf(toReplace));

试试这个:

RemoveFromEndIfContains("<p>&nbsp;</p>");

function string RemoveFromEndIfContains(string text, string remove)
{
if (text.EndsWith())
  return text.Substring(0, text.Length - remove.Length);
else
  return text;
}
text.Remove(text.Length - "<p>&nbsp;</p>".Length);

此字符串中删除从指定位置开始并继续到最后一个位置的所有字符。