如何删除c#文件流中的黑钻石问号

如何删除c#文件流中的黑钻石问号,c#,winforms,text-files,filestream,C#,Winforms,Text Files,Filestream,阅读文本文件时,如何删除黑钻石问号 在文本文件中,真正的字符是•但在读取文本文件后,它变成了�. 我不知道如何操作/删除该字符。此字符表示您正在以错误的编码读取文件。首先,您需要知道文件是如何编码的。例如,您可以从记事本++获取此信息。然后在代码中读取指定了此编码的文件。以下是读取unicode文件的示例: var text = File.ReadAllText(filePath, Encoding.Unicode); 删除字符: text.Replace("•", string.Empty)

阅读文本文件时,如何删除黑钻石问号


在文本文件中,真正的字符是•但在读取文本文件后,它变成了�. 我不知道如何操作/删除该字符。

此字符表示您正在以错误的编码读取文件。首先,您需要知道文件是如何编码的。例如,您可以从记事本++获取此信息。然后在代码中读取指定了此编码的文件。以下是读取unicode文件的示例:

var text = File.ReadAllText(filePath, Encoding.Unicode);
删除字符:

text.Replace("•", string.Empty);

您可以为该角色设置一个条件。然后使用Remove方法。大概是这样的:

if(inputstring.StartsWith('�')
{
    inputstring = inputstring.Remove(0,1);
}
这个。您可以使用正则表达式将
替换为空字符串:

//...
using System.Text.RegularExpressions;
using System.IO;
//...

string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "file.txt");

string yourString = Regex.Replace(File.ReadAllText(filePath, "file.txt")), @"\u2022", "");
由于
字符的值是
u2022
,因此正则表达式模式将匹配它并用空字符串替换它
Regex.Replace()
在本例中接受3个参数:源字符串、表达式和替换与模式匹配的文本的字符串

我测试了一下,效果很好:

file.txt的内容:
hello,•world

File.ReadAllLines(pathTxt, Encoding.GetEncoding(28591));
使用正则表达式替换


但是您打算如何删除该字符?您想删除原始字符吗?您能告诉我们您是如何读取此文件的吗@马卡蒂