gpt4 book ai didi

c# - 从字符串中删除隐藏字符

转载 作者:IT王子 更新时间:2023-10-29 04:25:19 26 4
gpt4 key购买 nike

我的问题:

我有一个 .NET 应用程序可以通过电子邮件发送时事通讯。当在 outlook 中查看时事通讯时,outlook 会显示一个问号来代替它无法识别的隐藏字符。这些隐藏字符来自最终用户,他们将构成时事通讯的 html 复制并粘贴到表单中并提交。如果这些隐藏字符出现在字符串的末尾或开头,c# trim() 会删除它们。当在 gmail 中查看时事通讯时,gmail 会很好地忽略它们。在 Word 文档中粘贴这些隐藏字符时,我打开“显示段落标记和隐藏符号”选项,这些符号显示为一个更大矩形内的一个矩形。此外,构成时事通讯的文本可以使用任何语言,因此必须接受 Unicode 字符。我试过循环遍历字符串来检测字符,但循环无法识别它并通过它。还要求最终用户在提交之前先将 html 粘贴到记事本中是不可能的。

我的问题:
如何使用 C# 检测和消除这些隐藏字符?

最佳答案

您可以使用如下方式从输入字符串中删除所有控制字符:

string input; // this is your input string
string output = new string(input.Where(c => !char.IsControl(c)).ToArray());

Here is the documentation对于 IsControl() 方法。

或者如果你只想保留字母和数字,你也可以使用 IsLetterIsDigit功能:

string output = new string(input.Where(c => char.IsLetter(c) || char.IsDigit(c)).ToArray());

关于c# - 从字符串中删除隐藏字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15259275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com