具有特殊字符的子串

Rag*_*son 1 c# asp.net string substring razor

假设我有一个字符串:

string str = "09012013 Receipt 09012013 #12"
Run Code Online (Sandbox Code Playgroud)

我想做substring返回"Receipt 09012013#12",我用substring:

var result = str.Substring(9);
Run Code Online (Sandbox Code Playgroud)

结果只是"收据09012013"

我尝试了其他特殊字符(%,§,$ ...),它工作,substring返回"收据09012013%12",但使用#和&,子字符串只返回"收据09012013"​​.

有什么想法吗?谢谢.

编辑

我的代码:

new NaviListItem("renameBtn", "showwaitingscreen", "akte/renameakte?entityid=" + Request["parentid"] + "&aktenkurzbezeichnung=" + Model.Node.Header.Substring(Model.Node.Ordnungsnummer.Length+1), "umbenennen.png", Model.RenameVisible, "Umbenennen", "Umbenennen"),
Run Code Online (Sandbox Code Playgroud)

das*_*ght 6

结果Substring不依赖于最后的字符:

string str = "09012013 Receipt 09012013 #12".Substring(9);
Run Code Online (Sandbox Code Playgroud)

产生"Receipt 09012013 #12"结果.

很可能这是一个显示问题:如果您提供的是Substring某种支持HTML的显示机制的结果&,#那么它通常会被视为元字符,因此需要转义.

  • @QuiTran**"因此需要逃脱."** (2认同)
  • @QuiTran在`Substring`的结果上使用`System.Web.HttpUtility.HtmlEncode()`来转义元字符. (2认同)