我已经阅读了类似的帖子,他们没有回答我的问题.
在C#中,我有一个我从WebClient.DownloadString获取的字符串.我已经尝试将client.Encoding设置为新的UTF8Encoding(false),但这没有任何区别 - 我仍然在结果字符串的开头以UTF-8的字节顺序标记结束.我需要删除它(用LINQ解析生成的XML),并希望在内存中这样做.
所以我有一个以\ x00EF\x00BB\x00BF开头的字符串,如果它存在,我想删除它.现在我正在使用
if (xml.StartsWith(ByteOrderMarkUtf8))
{
xml = xml.Remove(0, ByteOrderMarkUtf8.Length);
}
Run Code Online (Sandbox Code Playgroud)
但这感觉不对.我已尝试过各种带有流,GetBytes和编码的代码,但没有任何作用.任何人都可以提供"正确"算法从字符串中剥离BOM吗?
谢谢!
我有一个包含字符的字符串�我无法正确替换它.
String.replace("�","");
不起作用,有谁知道如何删除/替换字符串中的�?
有任何想法吗?
我的程序是一个文件验证实用程序,我必须读取一个格式文件,然后用一个空格解析每一行.但显然,编写格式文件的人可能会使用制表符,或2个空格,或任何形式的空格,我正在寻找一些代码来做到这一点.我试过这个:
public static string RemoveWhitespace(this string line)
{
try
{
return new Regex(@"\s*").Replace(line, " ");
}
catch (Exception)
{
return line;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这是错的.
救命!
我正在使用这个正则表达式:
Regex.Replace(value.Trim(), @"\s+", " ");
Run Code Online (Sandbox Code Playgroud)
修剪并将额外空间减少到一个空间.
问题是它还从文本中删除了新行.
如何修复正则表达式以保持新行?