c# - 删除字符串中的字符

标签 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:"

最佳答案

需要将结果分配回给 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

关于c# - 删除字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15637056/

相关文章:

c# - ASP.NET MVC 数据注释日期时间默认值

python - 测试回文的各种方法的性能 [Python]

c++ - 在这种情况下如何从结构中输入字符串数组?

string - 当字符串为空但不为空时,如何防止在 JAXB 中编码空标签

c# - 减少来自 HttpPostedFileBase 的图像大小(物理和尺寸)然后转换为 base64

C# 5 async/await 简单解释

c# - "Inheriting"创建 ViewModel 时来自多个模型的 DataAnnotations

c# - 尝试使用 Request.QueryString 时出现对象引用错误

string - 在可以出现零次或多次的字符后截断R中字符串的结尾

sql - 使用 PIVOT 函数 (Oracle) 的行到列