[英]How to Remove '\0' from a string in C#?
我想知道如何從字符串中刪除 '\\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);
這是 Bing 中的第一個結果,它沒有我喜歡的方法,即
string str = "MyString\0\0\0\0".Trim('\0');
嘗試這個:
msg.Body = msg.Body.Replace("\0", "");
如果您使用 LINQ,結果可能會更快
str.TakeWhile(c => c != '\0');
保持愚蠢的簡單=*
return stringValue.Substring(0, stringValue.IndexOf('\0'));
msg.body = sBody.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");
var str = "TestStrg.\r\nTest\0\0\0\0\0\0\0\0\0\r\n".Replace("\0", "");
String.Replace()
將用空字符串替換所有\\0
,從而刪除它們。
這條線應該工作:
string result = Regex.Replace(input, "\0", String.Empty);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.