使用 Replace 函数时,我注意到在尝试替换值“\r”和/或“\n”时没有预料到的事情。
我在外部 .cs 文件中有以下方法(正在进行中):
public static string UrlEncode(string stringItem)
{
stringItem = stringItem.Replace("%", "%25").
Replace("\"", "%22").Replace("#", "%23").
Replace("\\", "%5C").Replace("&", "%26").
Replace("'", "%27").Replace("+", "%2B").
Replace("\r", "").Replace("\n", " ");
return stringItem;
}
这会产生所需的结果(即,用单个空格替换任何新行)。
所以,如果我用一个“enter-key-press”传入一个字符串,它会存储一个空格。
我不明白的(因此是问题):为什么,如果我只使用“替换('\r','')”或“替换('\n','')”它仍然存储一个新队。我可以理解其中一个不起作用,但为什么我需要同时包含两者?如果 '\r' 或 '\n' 替换方法都不能单独工作,为什么同时使用这两种方法?
我问这个问题是因为在不理解的情况下使用代码(至少对我来说)是一个非常糟糕的习惯。此外,我对我打算使用的代码了解得越多,我就越能在未来根据情况利用它的有用性。
-------------------------另一个特点------------------------ -----
如果我只使用 Replace("\r", " "),它会提供空间(好像替换有效)但不会摆脱新行。
或者,如果我只使用 Replace("\n", " "),它会保留新行,然后提供空间。
----------------------最后一点---------- ----------
如果有任何问题,输出将进入 cshtml 页面上的文本区域。