字符串替换C语句中的VB语句(“;”& vbcrlf)的等效项

时间:2013-08-19 15:49:55

标签: c# vbscript

从一些旧的VB代码复制C#中的函数,以对电子邮件文本执行字符串操作。我不确定这是否适用于所有情况......任何人都可以确认我对正确使用的C#代码的看法吗?这些是等价的吗?

原创VB:

function FixText(Mail_Text)
   dim Clean_Text
   Clean_Text = Mail_Text
   Clean_Text = Replace(Clean_Text, "=" & vbcrlf, "")
   Clean_Text = Replace(Clean_Text, ";" & vblrcf, "")
   ` ... other stuff
   FixText = Clean_Text
End Function

新C#:

public String FixText(Mail_Text)
{
   String Clean_Text = Mail_Text;
   Clean_Text = Clean_Text.Replace("=" + System.Environment.NewLine, "");
   Clean_Text = Clean_Text.Replace(";" + System.Environment.NewLine, "");
   // ... other stuff
   return Clean_Text;
}

2 个答案:

答案 0 :(得分:5)

从技术上讲,他们不是。 vbcrlf是一个字符串常量,等于C#中的"\r\n"

System.Environment.NewLine是一个在Windows系统上返回"\r\n"的属性,但在基于Unix的系统(Linux和OS X)上返回"\n",更常见的意思是“用于该系统的行终止符目前的平台。“ vbcrlf始终成为Windows CR + LF行终止符,无论代码运行的是什么平台。

您应该使用哪一个最终取决于该文本的使用方式,而且无法从您问题中的其他信息中充分推断出这一点。

答案 1 :(得分:0)

您使用C#escape sequences

Clean_Text = Clean_Text.Replace("=\r\n", "");
Clean_Text = Clean_Text.Replace(";\r\n", "");
  • \r是回车的转义序列,
  • \n是新行的转义序列。