如何从C#中的字符串中删除’\ 0’?
我想知道如何从字符串中删除’\ 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); } }
但我想要的是:
msg.body="TestStrg.\r\nTest\r\n";
那么,有没有办法用简单的代码来做到这一点?
看来你只需要string.Replace
函数(静态方法)。
var cleaned = input.Replace("\0", string.Empty);
编辑:这是完整的代码,按要求:
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); } }
我用: something.TrimEnd('\0')
你只需要替换它
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);
试试这个:
msg.Body = msg.Body.Replace("\0", "");
这是Bing的第一个结果,它没有我喜欢的方法,也就是说
string str = "MyString\0\0\0\0".Trim('\0');
msg.body = sBody.Replace("\0", "");
保持简单愚蠢= *
return stringValue.Substring(0, stringValue.IndexOf('\0'));
var str = "TestStrg.\r\nTest\0\0\0\0\0\0\0\0\0\r\n".Replace("\0", "");
String.Replace()
将用空字符串替换所有\0
,从而删除它们。
我知道我已经迟到了,但是,虽然String.Replace大部分时间都在工作,我发现我更喜欢这个正则表达式版本,并且在大多数情况下更可靠
using System.Text.RegularExpressions; ... msg.body=Regex.Replace("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","\0");
该行应该有效:
string result = Regex.Replace(input, "\0", String.Empty);