如何从解析的字符串中删除特殊字符

时间:2018-12-28 01:25:19

标签: c# html-parsing

我正在解析网站上某些商品的价格。但是,在字符串之前,我得到了一些不相关的特殊字符。如何删除这些字符和所需的字符串?

我得到

\n                \n                    \n                    \n                \n\n                \n                    \n                    \n                        AMD YD2600BBAFBOX 3.9GHz Socket AM4 Processor

   17,975.00

但是,我已经使用Replace方法替换了字符串中不需要的特殊字符

itemName = itemNameNode.InnerText.Replace("\n", "");
itemPrice = itemPriceNode.InnerText.Replace("                      ", "Current price:");

仍然没有得到预期的结果。我得到的结果是

I have linked my image here for reference. It doesn't allow me to post image here (Seriously! stackoverflow)

2 个答案:

答案 0 :(得分:1)

您无需使用itemName字符串在换行符上进行替换,而只需使用String.Trim。修剪可删除字符串中返回true的char.IsWhiteSpace调用中的任何前导或结尾字符,其中包括换行符。

var x = "\n   Hello   \n";

Console.WriteLine("-");
Console.WriteLine(x);
Console.WriteLine("-");
/* Output:
-

   Hello   

-
*/

Console.WriteLine("-");
Console.WriteLine(x.Trim());
Console.WriteLine("-");
/* Output:
-
Hello
-
*/

答案 1 :(得分:0)

首先,我会这样尝试。

itemName = itemNameNode.InnerText.Trim();
itemPrice = itemPriceNode.InnerText.Trim().Replace("  ", "Current price:");

在使用Trim()之前先使用Replace()

希望对您有帮助。