1

我正在运行一个类,其工作是解析 html 文档以获取一些信息。

在我的一种情况下,我最终得到了这个字符串:

"\r\n                            First Name:"

我想格式化字符串,以便我只有“名字:”,所以我这样做了:

string firstName = node.InnerText;

firstName = firstName.Replace(" ", "");
firstName = firstName.Replace("\\r", "");
firstName = firstName.Replace("\\n", "");
firstName.Trim();

但我最终得到了和以前一样的字符串。我对 mvc-app 比较陌生,我认为这可以完成这项工作,但事实并非如此。我怎样才能实现我的目标?

谢谢!

* 编辑 *

我已经修改了我的代码,以向您展示我到目前为止所做的事情,因为我想通知大家第一行有效,但其余的不行。我最终得到了这个字符串:

"\r\nFirst Name:"
4

4 回答 4

6

需要将结果分配回firstName,因为字符串是不可变的,string.Replace因此不会更改原始字符串,而是会返回一个新字符串。

firstName = firstName.Replace(" ", "");
firstName = firstName.Replace("\r", "");
firstName = firstName.Replace("\n", "");

顺便说一句,您可以使用string.Trim

string firstName = "\r\n                            First Name:";
firstName = firstName.Trim();

因为String.Trim将删除所有空格,包括字符串的开头\r\n结尾

编辑:

您需要使用单反斜杠\r而不是双反斜杠\\r

于 2013-03-26T12:26:51.890 回答
4

您可以使用String.TrimStart

string firstName = "\r\n                            First Name:".TrimStart();

演示

String.TrimStart有效,因为Environment.NewLine属于删除的空白字符TrimStart。它返回一个新字符串(字符串是不可变的),因此您需要使用返回值并将其分配给您的变量。

于 2013-03-26T12:31:04.110 回答
2

Trim()将从字符串的开头和结尾删除空格。

string firstName = node.InnerText.Trim();

我在 .NET 4.5 下对其进行了测试Trim()并删除了\r\n

于 2013-03-26T12:28:05.423 回答
0

尝试这个:

firstName = firstName.Trim();
于 2013-03-26T12:30:10.550 回答