簡體   English   中英

如何從 C# 中的字符串中刪除 '\\0'?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM