我想知道如何从字符串中删除'\ 0'.这可能非常简单但不适合我,因为我是一名新的C#开发人员.
我有这个代码:
public static void funcTest (string sSubject, string sBody)
{
Try
{
MailMessage msg = new MailMessage(); // Set up e-mail message.
msg.To = XMLConfigReader.Email;
msg.From = XMLConfigReader.From_Email;
msg.Subject = sSubject;
msg.body="TestStrg.\r\nTest\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\r\n";
}
catch (Exception ex)
{
string sMessage = ex.Message;
log.Error(sMessage, ex);
}
}
Run Code Online (Sandbox Code Playgroud)
但我想要的是:
msg.body="TestStrg.\r\nTest\r\n";
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法用简单的代码做到这一点?
Nol*_*rin 47
看来你只想要这个string.Replace函数(静态方法).
var cleaned = input.Replace("\0", string.Empty);
Run Code Online (Sandbox Code Playgroud)
编辑:这是完整的代码,按要求:
public static void funcTest (string sSubject, string sBody)
{
try
{
MailMessage msg = new MailMessage();
msg.To = XMLConfigReader.Email;
msg.From = XMLConfigReader.From_Email;
msg.Subject = sSubject;
msg.Body = sBody.Replace("\0", string.Empty);
}
catch (Exception ex)
{
string sMessage = ex.Message;
log.Error(sMessage, ex);
}
}
Run Code Online (Sandbox Code Playgroud)
你只需要替换它
msg.body="TestStrg.\r\nTest\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\r\n".Replace("\0", string.Empty);
Run Code Online (Sandbox Code Playgroud)
小智 5
这是Bing的第一个结果,并且没有我的首选方法,即
string str = "MyString\0\0\0\0".Trim('\0');
Run Code Online (Sandbox Code Playgroud)
如果使用 LINQ,结果可能会更快
str.TakeWhile(c => c != '\0');
Run Code Online (Sandbox Code Playgroud)
Linq 具有更好更快的性能。