删除字符串中的字符

时间:2013-03-26 12:26:01

标签: c# string

我正在运行一个类,其工作是通过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 个答案:

答案 0 :(得分: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

答案 1 :(得分:4)

您可以使用String.TrimStart

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

Demo

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

答案 2 :(得分:2)

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

string firstName = node.InnerText.Trim();

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

答案 3 :(得分:0)

试试这个:

firstName = firstName.Trim();