从字符串中删除隐藏字符

2024-01-20

我的问题:

我有一个通过电子邮件发送新闻通讯的 .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());

这是文档 https://msdn.microsoft.com/en-us/library/system.char.iscontrol.aspx为了IsControl() method.

或者,如果您只想保留字母和数字,您也可以使用IsLetter https://msdn.microsoft.com/en-us/library/system.char.isletter.aspx and IsDigit https://msdn.microsoft.com/en-us/library/system.char.isdigit.aspx功能:

string output = new string(input.Where(c => char.IsLetter(c) || char.IsDigit(c)).ToArray());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从字符串中删除隐藏字符 的相关文章

  • 如何将点击侦听器添加到 Android/Java Textview 中的字符串中?

    我想要完成的是大多数 Twitter 应用程序中的标准操作 在文本视图中 文本字符串中的单词前面可能有 提及或 主题标签 并且它们实际上能够添加点击侦听器这个词启动了另一项活动 有谁知道这是如何实现的 下面我附上了一张示例照片 显示了我想要
  • 如何使用 Regsvr32 注册 .NET COM DLL?

    我有一个使用 COM DLL 的 VB6 应用程序 该DLL是用C 编写的 在 C 项目属性中 我检查了 Register for COM interop 选项 VB6 应用程序在我的开发机器上运行良好 C 代码完全遵循以下格式 CodeP
  • 类型定义存在于两个库中

    我正在使用 NET 4 5 构建 ASP NET Web 窗体网站 错误 The type System ComponentModel DataAnnotations Schema ForeignKeyAttribute exists in
  • 带有 Prism 区域适配器的 AvalonDock

    我看到了一些关于 SO 的问题 但似乎没有一个适合我 我希望能够使用伟大的使用 Prism 4 但是 所有示例区域适配器均适用于 Avalondock 1 x 系列 我无法使其工作 有人有关于如何为 AvalonDock 的 LayoutD
  • 可以轻易移动,但不可轻易复制

    是否可以创建类类型 即 普通移动构造 但不是普通复制构造 但仍然可复制构造 普通复制构造 但不是普通移动构造 但仍然可移动构造 可以简单地复制分配 但不能简单地移动分配 但仍然可以移动分配 可以简单地移动分配 但不能简单地复制分配 但仍然可
  • 在 .NET Core 上通过 MEF 将参数传递给插件构造函数?

    我花了几个小时试图弄清楚如何通过 MEF System Composition 将参数传递给插件构造函数 但一切都无济于事 不用说 相关文档很少 查看源代码也没有帮助 这曾经非常容易做到 使用 CompositionHost Compose
  • DLR 返回类型

    我需要 DLR 的帮助 我正在实现 IDynamicMetaObjectProvider 和 DynamicMetaObject 但在获取预期返回类型时遇到一些问题 我在元对象中覆盖 BindInvokeMember 我可以看到所有参数类型
  • 在 C# 中给定周数和年份,计算一周的开始和结束日期(基于 ISO 规范)

    我需要生成一份报告 显示一年中的 52 周 或某些年份的 53 周 及其开始日期和结束日期 有一个 ISO 规范可以做到这一点 但看起来非常复杂 我希望有人知道在 C 或 Visual Basic 中执行此操作的方法 实际上适用于 Visu
  • 需要帮助将 winform 迁移到 net 5

    我正在将 winform 应用程序从 net core 3 1 移植到 net 5 并收到以下错误 严重性代码 说明 项目文件行抑制状态 错误NETSDK1136 目标平台必须设置为Windows 通常 通过在 TargetFramewor
  • 使用 openssl 库获取 x509 证书哈希

    我目前正在开发一个应用程序 它使用 openssl 库 libcrypto 来生成证书 现在我必须获取现有证书的哈希值 当我使用终端时 我可以使用以下命令生成哈希值 openssl x509 hash in cert pem noout 输
  • 有没有办法对 RichTextBox 的撤消历史进行分组或暂时禁用它?

    我目前正在研究 WPF 中 RichTextBox 内的表格 在 WPF 中 表格没有行和列 只有行 每行都有一定数量的单元格 当用户按下 添加列 按钮时 我的程序会向每一行添加一个新单元格 使用此方法的问题是 在用户添加一列后 如果他们按
  • ASP.NET Core中间件如何进行DI?

    我正在尝试将依赖项注入到我的中间件构造函数中 如下所示 public class CreateCompanyMiddleware private readonly RequestDelegate next private readonly
  • 如何使用 MVVM 更改数据网格或列表视图中的内容

    我有一个 MainWindowViewModel DataContext 它公开不同的 ObservableCollections 带有 INotifyProperty 的 poco 对象的视图模型 从组合框中选择一个值后 我想单击一个加载
  • 为什么一个结构体,如果没有显式的默认构造函数,则无法编译将另一个结构体作为成员包装在联合体中的结构体?

    这就是我所说的关系 struct A int i 1 struct B union A a void main B b 在这个星座中 我的编译器 vs2015 抱怨 B 的默认构造函数B B void 被删除 并附有编译器已生成的注释B B
  • 使用 System.out.println 显示特殊字符

    我在将带有特殊字符的文本从网络服务发送或显示到数据库时遇到问题 在我的 Eclipse 上 我已将字符编码设置为 UTF 8 但它仍然不允许我显示字符 例如 像下面的代码一样简单的打印 String test System out prin
  • 实例着色器矩阵的设置

    我想绘制实例立方体 我可以打电话GL DrawArraysInstanced PrimitiveType Triangles 0 36 2 成功地 我的问题是所有立方体都绘制在相同的位置和相同的旋转 我如何为每个立方体单独更改它 要创建不同
  • { Qt5.0.2/QML/QtQuick2.0/C++ } 运行没有错误的示例项目? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的设置是Qt5 0 2 MinGW 32位 我在寻找 Qt5 0 2 QML QtQuick2 0 C 代码项目示例 不是Qt Qu
  • 警告从 lambda 返回捕获的引用

    我尝试使用 lambda 有条件地将引用绑定到两个变量之一 int foo bar int choice gt int if true some condition return foo else return bar 这会在 clang
  • wpf中的图像问题(图像不显示)

    我不明白为什么我无法在 WPF 中显示图像 也许我不小心修改了我的资源文件夹 这就是我没有显示的原因 所以我创建了一个新的 wpf 应用程序 我有这个 当我运行该程序时 我的图片显示为 为什么当我尝试在程序中执行相同的操作时 图像没有显示
  • 文件按文件名模式存在

    我在用 File Exists filepath 我想做的是将其替换为模式 因为文件名的第一部分发生了变化 例如 该文件可以是 01 peach xml 02 peach xml 03 peach xml 如何根据某种搜索模式检查文件是否存

随机推荐

  • 如何在 ZF2 中创建表单输入/元素

    编辑 我的主要问题现在变成了 如何以某种干净的方式将带有学说实体管理器的 ServiceManager 交到我的表单 元素和输入类手中 继续阅读以查看完整的帖子 我将尝试在这里举例询问 所以请耐心等待 让我知道哪里做错 对了 或者哪里可以改
  • 是否有用于布尔运算的内置“并行”函数?

    我正在寻找类似的功能pmax and pmin但对于布尔运算 例如 parallel and c TRUE TRUE TRUE TRUE c TRUE TRUE TRUE FALSE c TRUE TRUE FALSE TRUE c TRU
  • 在 C++ 中的结构上使用 memset

    我正在努力为我的工作修复旧代码 目前它是用 C 编写的 他们将静态分配转换为动态分配 但没有编辑 memsets memcmp memcpy 这是我的第一次编程实习 所以我的问题就像新手一样 以下代码是用 C 编写的 但我想用 C 编写 我
  • 使用 Python 更新 terraform (.tf) 文件

    我正在尝试使用 python 更新 terraform 模板 尽管我在尝试查找模块时遇到一些问题 例如使用 PyYAML 来更新 yml 文件 我的目标是更新 git 存储库中存在的 terraform 文件 并创建拉取请求 合并时将触发管
  • 如何使用 SDL 2.0.9 创建 Direct3d 11 渲染器

    在我的项目中我必须使用SDL BLENDOPERATION MAXIMUM via SDL ComposeCustomBlendMode 仅在 SDL 2 0 9 中由 direct3d11 渲染器支持 我有 Windows 8 1 和 G
  • array_multisort() 不修改第一个参数中的数组

    我正在尝试排序 ar1按降序排列的值 ar2 什么也没发生 ar1 array arperc ar2 array arid array multisort ar1 ar2 print r ar1 我缺少什么 如果您想使用以下元素 ar2作为
  • 在 R 中同时记录 stdout + stderr 和 stderr

    我想拥有一切stdout stderr在一个日志文件中 同时stderr在另一个 我怎样才能在 R 中实现这一目标 消息必须保留两个日志中所有消息的时间顺序 例如我有以下代码 options warn 1 cat 1st stdout n
  • React Native 中的快速刷新始终完全重新加载应用程序

    这个问题已经在这里被问过好几次了 这是最相关的 https stackoverflow com questions 59424152 fast refresh that was introduced in react native 0 61
  • 通过 CURL 将 Zip 文件下载到文件结构中的实际 Zip 文件

    我正在尝试使用 RubyGem Curb 构建一个文件下载器 看着这个问题 https stackoverflow com questions 5382149 using gem curb curl to download file 我正在
  • Feign 和 HAL/资源

    我有一个通过 spring data rest 公开资源的服务器 据我所知 它使用 HAL 或 HATEOAS 但是当我尝试将它与 Feign 结合使用时 我似乎无法注册一个被拾取的 Jackson2HalModule 我需要做些什么才能将
  • 如何从 Google 地图平台获取天气数据?

    我有一个位置列表 我想知道是否可以从 Google 地图 API 获取天气数据 当我不得不在 Go 中这样做时 我做了这样的事情 package main import bufio context database sql encoding
  • C++11 中默认函数有什么意义?

    C 11 添加了告诉编译器的功能创建默认实现 http en wikipedia org wiki C 2B 2B0x Defaulting 2Fdeleting of standard functions on C 2B 2B objec
  • 如何在 Rails 中向数据库添加多列

    您好 我刚刚在 RoR 中创建了一个数据库 我现在想再添加 10 列 但是 我不想使用一次仅添加 1 列的以下类型的命令 rails generate migration AddClosing Hrs1ToBusinesses closin
  • ASP.NET奇怪的编译错误

    我不知道我的机器出了什么问题 但有一段时间我从 ASP NET 对于我的所有应用程序 收到以下奇怪的错误 Compilation Error Description An error occurred during the compilat
  • 通过匹配两列的值来过滤数据框

    我在 r 中有一个数据框 我想删除两列中字符串值相等的那些行 我在 r 中使用了 match 函数 但无法获得所需的输出 例如我的数据框是 ALDH1A1 ALDH1A1 ITGA7 CHRNA1 PPP1R9A ACTG1 SRGN SR
  • 无法安装漂亮

    我无法 pip install Prettytable 安装它的最佳选择是什么 sudo pip vvv install prettytable Downloading unpacking prettytable Getting page
  • 通过 Intent 发送 Arraylist

    我怎样才能收到定制ArrayList从另一个活动通过Intent 例如 我有这个ArrayList在活动A中 ArrayList
  • 捕获生成器内的错误并随后继续

    我有一个应该运行几天的迭代器 我希望捕获并报告错误 然后我希望迭代器继续 或者整个过程可以重新开始 这是函数 def get units self scraper units scraper get units i 0 while True
  • 正则表达式接受命令并分割命令、参数和参数值

    下午好 我认为我在这项特殊任务中有点超出了我的能力范围 我正在尝试创建一个正则表达式匹配函数来输入命令 并拆分命令名称 参数和参数值 新变量 Name Something Force 结果应该是 新变量 Name 某物 Force 到目前为
  • 从字符串中删除隐藏字符

    我的问题 我有一个通过电子邮件发送新闻通讯的 NET 应用程序 在 Outlook 中查看新闻通讯时 Outlook 会显示一个问号来代替它无法识别的隐藏字符 这些隐藏字符来自最终用户 他们将组成时事通讯的 html 复制并粘贴到表单中并提