我有一个应用程序,可以在网站的shoutbox上听到呼喊声和发出呼喊声,因为shoutbox HTML是用来显示给Smileys的:
<img src=\"http:\/\/www.darkbox.nl\/board\/images\/smilies\/smile.gif\" alt=\"Smile\" title=\"Smile\" class=\"smilie smilie_1\" \/>我的节目就是这样出现的。我尝试这样做,以找到HTML代码并将其替换为':)‘。
if(s.Message.Contains("< img src =\"http:\/\/www.darkbox.nl\/board\/images\/smilies\/smile.gif\" alt=\"Smile\" title=\"Smile\" class=\"smilie smilie_1\" \/>"))
{
s.Message.Replace("<img src=\"http:\/\/www.darkbox.nl\/board\/images\/smilies\/smile.gif\" alt=\"Smile\" title=\"Smile\" class=\"smilie smilie_1\" \/>", ":)");
}但这不起作用,我得到了7个错误,所有的“未识别的转义序列”我也尝试了@"",但这没有帮助。
发布于 2015-10-18 20:49:36
它抱怨的转义序列是\/ --您不需要转义/
if(s.Message.Contains("< img src =\"http://www.darkbox.nl/board/images/smilies/smile.gif\" alt=\"Smile\" title=\"Smile\" class=\"smilie smilie_1\" />"))
{
s.Message.Replace("<img src=\"http://www.darkbox.nl/board/images/smilies/smile.gif\" alt=\"Smile\" title=\"Smile\" class=\"smilie smilie_1\" />", ":)");
}但是,当我们这样做的时候,我们没有必要先使用Contains进行检查--如果它不在那里,它就不会被替换,不如直接调用.Replace而不检查:
s.Message.Replace("<img src=\"http://www.darkbox.nl/board/images/smilies/smile.gif\" alt=\"Smile\" title=\"Smile\" class=\"smilie smilie_1\" />", ":)");但是,您还应该注意到,Replace没有修改原始字符串,您还需要将它分配给某些东西,可能是s.Message,尽管这完全取决于代码中还发生了什么:
s.Message = s.Message.Replace("<img src=\"http://www.darkbox.nl/board/images/smilies/smile.gif\" alt=\"Smile\" title=\"Smile\" class=\"smilie smilie_1\" />", ":)");发布于 2015-10-18 20:48:06
你根本不需要转义字符。只需像这样使用正斜杠:
http://www.darkbox.nl/board/images/smilies... 只有向后斜杠需要转义。
https://stackoverflow.com/questions/33203050
复制相似问题