删除字符串中的字符
问题描述:
我正在运行一个类,其任务是通过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:"
答
您可以使用String.TrimStart
:
string firstName = "\r\n First Name:".TrimStart();
String.TrimStart
工程因为Environment.NewLine
属于white-space charactersTrimStart
删除。它返回一个新的字符串(字符串是不可变的),因此您需要使用返回值并将其分配给您的变量。
答
你需要将结果赋回到名字,因为字符串是不可改变的,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
答
试试这个:
firstName = firstName.Trim();
你不必转义'\ r',使用单个反斜杠,而不是double,同时'firstName.Trim()'会完成这项工作,但是你需要像'firstName = firstName.Trim();' – Habib 2013-03-26 12:35:08